Esempio n. 1
0
 private void LoadMessageFormat()
 {
     if (File.Exists(messagesFile))
     {
         XmlTextReader textReader = null;
         try
         {
             XmlSerializer deserializer = new XmlSerializer(typeof(IceChatMessageFormat));
             textReader      = new XmlTextReader(messagesFile);
             iceChatMessages = (IceChatMessageFormat)deserializer.Deserialize(textReader);
             textReader.Close();
             if (iceChatMessages.MessageSettings.Length != 49)
             {
                 LoadDefaultMessageSettings();
             }
         }
         catch (Exception)
         {
             textReader.Close();
             errorMessages.Add("There was a problem loading IceChatMessages.xml. Default color settings loaded");
             iceChatMessages = new IceChatMessageFormat();
             LoadDefaultMessageSettings();
         }
     }
     else
     {
         iceChatMessages = new IceChatMessageFormat();
         LoadDefaultMessageSettings();
     }
 }
Esempio n. 2
0
 private void LoadMessageFormat()
 {
     if (File.Exists(messagesFile))
     {
         XmlSerializer deserializer = new XmlSerializer(typeof(IceChatMessageFormat));
         TextReader textReader = new StreamReader(messagesFile);
         iceChatMessages = (IceChatMessageFormat)deserializer.Deserialize(textReader);
         textReader.Close();
         textReader.Dispose();
         if (iceChatMessages.MessageSettings.Length != 49)
             LoadDefaultMessageSettings();
     }
     else
     {
         iceChatMessages = new IceChatMessageFormat();
         LoadDefaultMessageSettings();
     }
 }
Esempio n. 3
0
        private void LoadDefaultMessageSettings()
        {
            IceChatMessageFormat oldMessage = new IceChatMessageFormat();
            oldMessage.MessageSettings = new ServerMessageFormatItem[49];

            if (iceChatMessages.MessageSettings != null)
                iceChatMessages.MessageSettings.CopyTo(oldMessage.MessageSettings, 0);

            iceChatMessages.MessageSettings = new ServerMessageFormatItem[49];

            if (oldMessage.MessageSettings[0] == null || oldMessage.MessageSettings[0].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[0] = NewMessageFormat("Server Connect", "1*** Attempting to connect to $server ($serverip) on port $port");
            else
                iceChatMessages.MessageSettings[0] = oldMessage.MessageSettings[0];

            if (oldMessage.MessageSettings[1] == null || oldMessage.MessageSettings[1].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[1] = NewMessageFormat("Server Disconnect", "1*** Server disconnected on $server");
            else
                iceChatMessages.MessageSettings[1] = oldMessage.MessageSettings[1];

            if (oldMessage.MessageSettings[2] == null || oldMessage.MessageSettings[2].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[2] = NewMessageFormat("Server Reconnect", "1*** Attempting to re-connect to $server");
            else
                iceChatMessages.MessageSettings[2] = oldMessage.MessageSettings[2];

            if (oldMessage.MessageSettings[3] == null || oldMessage.MessageSettings[3].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[3] = NewMessageFormat("Channel Invite", "3* $nick invites you to $channel");
            else
                iceChatMessages.MessageSettings[3] = oldMessage.MessageSettings[3];

            if (oldMessage.MessageSettings[7] == null || oldMessage.MessageSettings[7].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[7] = NewMessageFormat("Channel Mode", "9* $nick sets mode $mode $modeparam for $channel");
            else
                iceChatMessages.MessageSettings[7] = oldMessage.MessageSettings[7];

            if (oldMessage.MessageSettings[8] == null || oldMessage.MessageSettings[8].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[8] = NewMessageFormat("Server Mode", "6* Your mode is now $mode");
            else
                iceChatMessages.MessageSettings[8] = oldMessage.MessageSettings[8];

            if (oldMessage.MessageSettings[9] == null || oldMessage.MessageSettings[9].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[9] = NewMessageFormat("Server Notice", "4*** $server $message");
            else
                iceChatMessages.MessageSettings[9] = oldMessage.MessageSettings[9];

            if (oldMessage.MessageSettings[10] == null || oldMessage.MessageSettings[10].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[10] = NewMessageFormat("Server Message", "4-$server- $message");
            else
                iceChatMessages.MessageSettings[10] = oldMessage.MessageSettings[10];

            if (oldMessage.MessageSettings[11] == null || oldMessage.MessageSettings[11].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[11] = NewMessageFormat("User Notice", "4--$nick-- $message");
            else
                iceChatMessages.MessageSettings[11] = oldMessage.MessageSettings[11];

            if (oldMessage.MessageSettings[12] == null || oldMessage.MessageSettings[12].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[12] = NewMessageFormat("Channel Message", "&#x3;1<$color$status$nick&#x3;> $message");
            else
                iceChatMessages.MessageSettings[12] = oldMessage.MessageSettings[12];

            if (oldMessage.MessageSettings[13] == null || oldMessage.MessageSettings[13].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[13] = NewMessageFormat("Self Channel Message", "&#x3;1<$nick&#x3;> $message");
            else
                iceChatMessages.MessageSettings[13] = oldMessage.MessageSettings[13];

            if (oldMessage.MessageSettings[14] == null || oldMessage.MessageSettings[14].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[14] = NewMessageFormat("Channel Action", "&#x3;5* $nick $message");
            else
                iceChatMessages.MessageSettings[14] = oldMessage.MessageSettings[14];

            if (oldMessage.MessageSettings[15] == null || oldMessage.MessageSettings[15].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[15] = NewMessageFormat("Self Channel Action", "&#x3;4* $nick $message");
            else
                iceChatMessages.MessageSettings[15] = oldMessage.MessageSettings[15];

            if (oldMessage.MessageSettings[16] == null || oldMessage.MessageSettings[16].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[16] = NewMessageFormat("Channel Join", "&#x3;7* $nick ($host) has joined channel $channel");
            else
                iceChatMessages.MessageSettings[16] = oldMessage.MessageSettings[16];

            if (oldMessage.MessageSettings[17] == null || oldMessage.MessageSettings[17].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[17] = NewMessageFormat("Self Channel Join", "&#x3;4* You have joined $channel");
            else
                iceChatMessages.MessageSettings[17] = oldMessage.MessageSettings[17];

            if (oldMessage.MessageSettings[18] == null || oldMessage.MessageSettings[18].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[18] = NewMessageFormat("Channel Part", "&#x3;3* $nick ($host) has left $channel ($reason)");
            else
                iceChatMessages.MessageSettings[18] = oldMessage.MessageSettings[18];

            if (oldMessage.MessageSettings[19] == null || oldMessage.MessageSettings[19].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[19] = NewMessageFormat("Self Channel Part", "&#x3;4* You have left $channel - You will be missed &#x3;10($reason)");
            else
                iceChatMessages.MessageSettings[19] = oldMessage.MessageSettings[19];

            if (oldMessage.MessageSettings[20] == null || oldMessage.MessageSettings[20].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[20] = NewMessageFormat("Server Quit", "&#x3;2* $nick ($host) Quit ($reason)");
            else
                iceChatMessages.MessageSettings[20] = oldMessage.MessageSettings[20];

            if (oldMessage.MessageSettings[21] == null || oldMessage.MessageSettings[21].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[21] = NewMessageFormat("Channel Nick Change", "&#x3;3* $nick is now known as $newnick");
            else
                iceChatMessages.MessageSettings[21] = oldMessage.MessageSettings[21];

            if (oldMessage.MessageSettings[22] == null || oldMessage.MessageSettings[22].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[22] = NewMessageFormat("Self Nick Change", "&#x3;4* You are now known as $newnick");
            else
                iceChatMessages.MessageSettings[22] = oldMessage.MessageSettings[22];

            if (oldMessage.MessageSettings[23] == null || oldMessage.MessageSettings[23].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[23] = NewMessageFormat("Channel Kick", "&#x3;4* $kickee was kicked by $nick($host) &#x3;3 - Reason ($reason)");
            else
                iceChatMessages.MessageSettings[23] = oldMessage.MessageSettings[23];

            if (oldMessage.MessageSettings[24] == null || oldMessage.MessageSettings[24].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[24] = NewMessageFormat("Self Channel Kick", "&#x3;4* You were kicked from $channel by $kicker (&#x3;3$reason)");
            else
                iceChatMessages.MessageSettings[24] = oldMessage.MessageSettings[24];

            if (oldMessage.MessageSettings[25] == null || oldMessage.MessageSettings[25].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[25] = NewMessageFormat("Private Message", "&#x3;1<$nick> $message");
            else
                iceChatMessages.MessageSettings[25] = oldMessage.MessageSettings[25];

            if (oldMessage.MessageSettings[26] == null || oldMessage.MessageSettings[26].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[26] = NewMessageFormat("Self Private Message", "&#x3;4<$nick>&#x3;1 $message");
            else
                iceChatMessages.MessageSettings[26] = oldMessage.MessageSettings[26];

            if (oldMessage.MessageSettings[27] == null || oldMessage.MessageSettings[27].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[27] = NewMessageFormat("Private Action", "&#x3;13* $nick $message");
            else
                iceChatMessages.MessageSettings[27] = oldMessage.MessageSettings[27];

            if (oldMessage.MessageSettings[28] == null || oldMessage.MessageSettings[28].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[28] = NewMessageFormat("Self Private Action", "&#x3;12* $nick $message");
            else
                iceChatMessages.MessageSettings[28] = oldMessage.MessageSettings[28];

            if (oldMessage.MessageSettings[35] == null || oldMessage.MessageSettings[35].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[35] = NewMessageFormat("Channel Topic Change", "&#x3;3* $nick changes topic to: $topic");
            else
                iceChatMessages.MessageSettings[35] = oldMessage.MessageSettings[35];

            if (oldMessage.MessageSettings[36] == null || oldMessage.MessageSettings[36].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[36] = NewMessageFormat("Channel Topic Text", "&#x3;3Topic: $topic");
            else
                iceChatMessages.MessageSettings[36] = oldMessage.MessageSettings[36];

            if (oldMessage.MessageSettings[37] == null || oldMessage.MessageSettings[37].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[37] = NewMessageFormat("Server MOTD", "&#x3;3$message");
            else
                iceChatMessages.MessageSettings[37] = oldMessage.MessageSettings[37];

            if (oldMessage.MessageSettings[38] == null || oldMessage.MessageSettings[38].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[38] = NewMessageFormat("Channel Notice", "&#x3;5-$nick:$status$channel- $message");
            else
                iceChatMessages.MessageSettings[38] = oldMessage.MessageSettings[38];

            if (oldMessage.MessageSettings[39] == null || oldMessage.MessageSettings[39].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[39] = NewMessageFormat("Channel Other", "&#x3;1$message");
            else
                iceChatMessages.MessageSettings[39] = oldMessage.MessageSettings[39];

            if (oldMessage.MessageSettings[40] == null || oldMessage.MessageSettings[40].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[40] = NewMessageFormat("User Echo", "&#x3;7$message");
            else
                iceChatMessages.MessageSettings[40] = oldMessage.MessageSettings[40];

            if (oldMessage.MessageSettings[41] == null || oldMessage.MessageSettings[41].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[41] = NewMessageFormat("Server Error", "&#x3;4ERROR: $message");
            else
                iceChatMessages.MessageSettings[41] = oldMessage.MessageSettings[41];

            if (oldMessage.MessageSettings[42] == null || oldMessage.MessageSettings[42].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[42] = NewMessageFormat("User Whois", "&#x3;12->> $nick $data");
            else
                iceChatMessages.MessageSettings[42] = oldMessage.MessageSettings[42];

            if (oldMessage.MessageSettings[43] == null || oldMessage.MessageSettings[43].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[43] = NewMessageFormat("User Error", "&#x3;4ERROR: $message");
            else
                iceChatMessages.MessageSettings[43] = oldMessage.MessageSettings[43];

            if (oldMessage.MessageSettings[44] == null || oldMessage.MessageSettings[44].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[44] = NewMessageFormat("DCC Chat Connect", "&#x3;1* DCC Chat Connection Established with $nick");
            else
                iceChatMessages.MessageSettings[44] = oldMessage.MessageSettings[44];

            if (oldMessage.MessageSettings[45] == null || oldMessage.MessageSettings[45].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[45] = NewMessageFormat("DCC Chat Disconnect", "&#x3;1* DCC Chat Disconnected from $nick");
            else
                iceChatMessages.MessageSettings[45] = oldMessage.MessageSettings[45];

            if (oldMessage.MessageSettings[48] == null || oldMessage.MessageSettings[13].FormattedMessage.Length == 0)
                iceChatMessages.MessageSettings[48] = NewMessageFormat("Self Notice", "&#x3;1--> $nick - $message");
            else
                iceChatMessages.MessageSettings[48] = oldMessage.MessageSettings[48];

            //still do customize these messages
            iceChatMessages.MessageSettings[4] = NewMessageFormat("Ctcp Reply", "&#x3;12[$nick $ctcp Reply] : $reply");
            iceChatMessages.MessageSettings[5] = NewMessageFormat("Ctcp Send", "&#x3;10--> [$nick] $ctcp");
            iceChatMessages.MessageSettings[6] = NewMessageFormat("Ctcp Request", "&#x3;7[$nick] $ctcp");

            iceChatMessages.MessageSettings[29] = NewMessageFormat("DCC Chat Action", "&#x3;5* $nick $message");
            iceChatMessages.MessageSettings[30] = NewMessageFormat("Self DCC Chat Action", "&#x3;5* $nick $message");
            iceChatMessages.MessageSettings[31] = NewMessageFormat("DCC Chat Message", "&#x3;1<$nick> $message");
            iceChatMessages.MessageSettings[32] = NewMessageFormat("Self DCC Chat Message", "&#x3;4<$nick> $message");

            iceChatMessages.MessageSettings[33] = NewMessageFormat("DCC Chat Request", "&#x3;4* $nick ($host) is requesting a DCC Chat");
            iceChatMessages.MessageSettings[34] = NewMessageFormat("DCC File Send", "&#x3;4* $nick ($host) is trying to send you a file ($file) [$filesize bytes]");

            iceChatMessages.MessageSettings[46] = NewMessageFormat("DCC Chat Outgoing", "&#x3;1* DCC Chat Requested with $nick");
            iceChatMessages.MessageSettings[47] = NewMessageFormat("DCC Chat Timeout", "&#x3;1* DCC Chat with $nick timed out");

            SaveMessageFormat();
        }
Esempio n. 4
0
        private void fc_SaveColors(IceChatColors colors, IceChatMessageFormat messages)
        {
            this.iceChatColors = colors;
            SaveColors();

            this.iceChatMessages = messages;
            SaveMessageFormat();

            toolStripMain.BackColor = IrcColor.colors[iceChatColors.ToolbarBackColor];
            menuMainStrip.BackColor = IrcColor.colors[iceChatColors.MenubarBackColor];
            statusStripMain.BackColor = IrcColor.colors[iceChatColors.StatusbarBackColor];
            toolStripStatus.ForeColor = IrcColor.colors[iceChatColors.StatusbarForeColor];

            serverListTab.BackColor = IrcColor.colors[iceChatColors.PanelHeaderBG1];
            serverListTab.ForeColor = IrcColor.colors[iceChatColors.PanelHeaderForeColor];
            nickListTab.BackColor = IrcColor.colors[iceChatColors.PanelHeaderBG1];
            nickListTab.ForeColor = IrcColor.colors[iceChatColors.PanelHeaderForeColor];
            channelListTab.BackColor = IrcColor.colors[iceChatColors.PanelHeaderBG1];
            channelListTab.ForeColor = IrcColor.colors[iceChatColors.PanelHeaderForeColor];
            buddyListTab.BackColor = IrcColor.colors[iceChatColors.PanelHeaderBG1];
            buddyListTab.ForeColor = IrcColor.colors[iceChatColors.PanelHeaderForeColor];

            inputPanel.SetInputBoxColors();
            channelList.SetListColors();
            buddyList.SetListColors();
            nickList.Invalidate();
            serverTree.Invalidate();
            mainTabControl.Invalidate();

            //update all the console windows
            foreach (ConsoleTab c in mainTabControl.GetTabPage("Console").ConsoleTab.TabPages)
            {
                ((TextWindow)c.Controls[0]).IRCBackColor = iceChatColors.ConsoleBackColor;
            }

            //update all the Channel and Query Tabs Windows
            foreach (IceTabPage t in mainTabControl.TabPages)
            {
                if (t.WindowStyle == IceTabPage.WindowType.Channel)
                    t.TextWindow.IRCBackColor = iceChatColors.ChannelBackColor;

                if (t.WindowStyle == IceTabPage.WindowType.Query)
                    t.TextWindow.IRCBackColor = iceChatColors.QueryBackColor;
            }
        }
Esempio n. 5
0
        public FormMain(string[] args, Form splash)
        {
            FormMain.Instance = this;

            player = new System.Media.SoundPlayer();

            bool forceCurrentFolder = false;

            if (args.Length > 0)
            {
                string prevArg = "";
                foreach (string arg in args)
                {
                    if (prevArg.Length == 0)
                        prevArg = arg;
                    else
                    {
                        switch (prevArg.ToLower())
                        {
                            case "-profile":
                                currentFolder = arg;
                                //check if the folder exists, ir not, create it
                                if (!Directory.Exists(currentFolder))
                                    Directory.CreateDirectory(currentFolder);
                                forceCurrentFolder = true;
                                break;
                        }

                        prevArg = "";
                    }
                }
            }

            //mutex = new System.Threading.Mutex(true, "IceChatMutex");

            #region Settings Files

            //check if the xml settings files exist in current folder
            if (currentFolder == null)
                currentFolder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

            if (!File.Exists(currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatServer.xml") && !forceCurrentFolder)
            {
                if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + Path.DirectorySeparatorChar + "IceChat Networks" + Path.DirectorySeparatorChar + "IceChat"))
                    Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + Path.DirectorySeparatorChar + "IceChat Networks" + Path.DirectorySeparatorChar + "IceChat");

                currentFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + Path.DirectorySeparatorChar + "IceChat Networks" + Path.DirectorySeparatorChar + "IceChat";
            }

            //load all files from the Local AppData folder, unless it exist in the current folder
            serversFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatServer.xml";
            optionsFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatOptions.xml";
            messagesFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatMessages.xml";
            fontsFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatFonts.xml";
            colorsFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatColors.xml";
            soundsFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatSounds.xml";
            favoriteChannelsFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatChannels.xml";
            aliasesFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatAliases.xml";
            popupsFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatPopups.xml";
            pluginsFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatPlugins.xml";
            emoticonsFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "Emoticons" + System.IO.Path.DirectorySeparatorChar + "IceChatEmoticons.xml";

            logsFolder = currentFolder + System.IO.Path.DirectorySeparatorChar + "Logs";
            scriptsFolder = currentFolder + System.IO.Path.DirectorySeparatorChar + "Scripts";
            soundsFolder = currentFolder + System.IO.Path.DirectorySeparatorChar + "Sounds";
            picturesFolder = currentFolder + System.IO.Path.DirectorySeparatorChar + "Pictures";

            //pluginsFolder = currentFolder + System.IO.Path.DirectorySeparatorChar + "Plugins";
            pluginsFolder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + System.IO.Path.DirectorySeparatorChar + "Plugins";
            //pluginsFolder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

            if (!Directory.Exists(pluginsFolder))
                Directory.CreateDirectory(pluginsFolder);

            if (!Directory.Exists(scriptsFolder))
                Directory.CreateDirectory(scriptsFolder);

            if (!Directory.Exists(soundsFolder))
                Directory.CreateDirectory(soundsFolder);

            if (!Directory.Exists(picturesFolder))
                Directory.CreateDirectory(picturesFolder);

            #endregion

            languageFiles = new List<LanguageItem>();

            DirectoryInfo languageDirectory = null;

            languageDirectory = new DirectoryInfo(currentFolder + System.IO.Path.DirectorySeparatorChar + "Languages");
            if (!Directory.Exists(currentFolder + System.IO.Path.DirectorySeparatorChar + "Languages"))
                Directory.CreateDirectory(currentFolder + System.IO.Path.DirectorySeparatorChar + "Languages");

            if (languageDirectory != null)
            {
                // scan the language directory for xml files and make LanguageItems for each file
                FileInfo[] langFiles = languageDirectory.GetFiles("*.xml");
                foreach (FileInfo fi in langFiles)
                {
                    string langFile = languageDirectory.FullName + System.IO.Path.DirectorySeparatorChar + fi.Name;
                    LanguageItem languageItem = LoadLanguageItem(langFile);
                    if (languageItem != null) languageFiles.Add(languageItem);
                }

                if (languageFiles.Count == 0)
                {
                    currentLanguageFile = new LanguageItem();
                    languageFiles.Add(currentLanguageFile);     // default language English
                }
            }

            LoadOptions();
            LoadColors();
            LoadSounds();

            // use the language saved in options if availlable,
            // if not (e.g. user deleted xml file) default is used
            foreach (LanguageItem li in languageFiles)
            {
                if (li.LanguageName == iceChatOptions.Language)
                {
                    currentLanguageFile = li;
                    break;
                }
            }
            LoadLanguage(); // The language class MUST be loaded before any GUI component is created

            //check if we have any servers/settings saved, if not, load firstrun
            if (!File.Exists(serversFile))
            {
                FormFirstRun firstRun = new FormFirstRun(currentFolder);
                firstRun.ShowDialog(this);
            }

            InitializeComponent();
            //load icons from Embedded Resources
            this.toolStripQuickConnect.Image = StaticMethods.LoadResourceImage("quick.png");
            this.toolStripSettings.Image = StaticMethods.LoadResourceImage("settings.png");
            this.toolStripColors.Image = StaticMethods.LoadResourceImage("colors.png");
            this.toolStripEditor.Image = StaticMethods.LoadResourceImage("editor.png");
            this.toolStripAway.Image = StaticMethods.LoadResourceImage("away.png");
            this.toolStripSystemTray.Image = StaticMethods.LoadResourceImage("system-tray.png");
            this.toolStripUpdate.Image = StaticMethods.LoadResourceImage("update.png");

            //disable this by default
            this.toolStripUpdate.Visible = false;

            this.minimizeToTrayToolStripMenuItem.Image = StaticMethods.LoadResourceImage("new-tray-icon.ico");
            this.debugWindowToolStripMenuItem.Image = StaticMethods.LoadResourceImage("window-icon.ico");
            this.exitToolStripMenuItem.Image = StaticMethods.LoadResourceImage("disconected.png");
            this.iceChatSettingsToolStripMenuItem.Image = StaticMethods.LoadResourceImage("settings.png");
            this.iceChatColorsToolStripMenuItem.Image = StaticMethods.LoadResourceImage("colors.png");
            this.iceChatEditorToolStripMenuItem.Image = StaticMethods.LoadResourceImage("editormenu.png");
            this.codePlexPageToolStripMenuItem.Image = StaticMethods.LoadResourceImage("codeplex.ico");
            this.forumsToolStripMenuItem.Image = StaticMethods.LoadResourceImage("smf.ico");
            this.facebookFanPageToolStripMenuItem.Image = StaticMethods.LoadResourceImage("facebook.png");
            this.checkForUpdateToolStripMenuItem.Image = StaticMethods.LoadResourceImage("update-menu.png");
            this.iceChatHomePageToolStripMenuItem.Image = StaticMethods.LoadResourceImage("home.png");
            this.downloadPluginsToolStripMenuItem.Image = StaticMethods.LoadResourceImage("plug-icon.png");
            this.pluginsToolStripMenuItem.Image = StaticMethods.LoadResourceImage("plug-icon.png");

            //this.muteAllSoundsToolStripMenuItem.Image = StaticMethods.LoadResourceImage("mute.png");
            //this.browseDataFolderToolStripMenuItem.Image = StaticMethods.LoadResourceImage("folder.ico");

            this.notifyIcon.Icon = System.Drawing.Icon.FromHandle(StaticMethods.LoadResourceImage("new-tray-icon.ico").GetHicon());
            this.Icon = System.Drawing.Icon.FromHandle(StaticMethods.LoadResourceImage("new-tray-icon.ico").GetHicon());

            this.toolStripMain.VisibleChanged += new EventHandler(toolStripMain_VisibleChanged);

            serverListToolStripMenuItem.Checked = iceChatOptions.ShowServerTree;
            panelDockLeft.Visible = serverListToolStripMenuItem.Checked;
            splitterLeft.Visible = serverListToolStripMenuItem.Checked;

            nickListToolStripMenuItem.Checked = iceChatOptions.ShowNickList;
            panelDockRight.Visible = nickListToolStripMenuItem.Checked;
            splitterRight.Visible = nickListToolStripMenuItem.Checked;

            statusBarToolStripMenuItem.Checked = iceChatOptions.ShowStatusBar;
            statusStripMain.Visible = statusBarToolStripMenuItem.Checked;

            toolBarToolStripMenuItem.Checked = iceChatOptions.ShowToolBar;
            toolStripMain.Visible = toolBarToolStripMenuItem.Checked;

            serverTree = new ServerTree();
            serverTree.Dock = DockStyle.Fill;

            this.Text = ProgramID + " :: " + VersionID + " :: September 14 2011";
            this.notifyIcon.Text = ProgramID + " :: " + VersionID;

            if (!Directory.Exists(logsFolder))
                Directory.CreateDirectory(logsFolder);

            try
            {
                errorFile = new StreamWriter(logsFolder + System.IO.Path.DirectorySeparatorChar + "errors.log");
            }
            catch (IOException io)
            {
                System.Diagnostics.Debug.WriteLine("Can not create errors.log:" + io.Message);
            }

            if (!iceChatOptions.TimeStamp.EndsWith(" "))
                iceChatOptions.TimeStamp += " ";

            if (iceChatOptions.WindowSize != null)
            {
                if (iceChatOptions.WindowSize.Width != 0)
                    this.Size = iceChatOptions.WindowSize;
                else
                {
                    Rectangle r = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
                    this.Width = r.Width;
                    this.Height = r.Height;
                }
            }

            if (iceChatOptions.WindowLocation != null)
                this.Location = iceChatOptions.WindowLocation;

            statusStripMain.Visible = iceChatOptions.ShowStatusBar;
            inputPanel.ShowColorPicker = iceChatOptions.ShowColorPicker;
            inputPanel.ShowEmoticonPicker = iceChatOptions.ShowEmoticonPicker;
            inputPanel.ShowSearchPanel = false;

            LoadAliases();
            LoadPopups();
            LoadEmoticons();
            LoadMessageFormat();
            LoadFonts();

            if (iceChatOptions.CurrentTheme == null)
                iceChatOptions.CurrentTheme = "Default";
            else
            {
                //load in the new color theme, if it not Default
                if (iceChatOptions.CurrentTheme != "Default")
                {
                    string themeFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "Colors-" + iceChatOptions.CurrentTheme + ".xml";
                    if (File.Exists(themeFile))
                    {
                        XmlSerializer deserializer = new XmlSerializer(typeof(IceChatColors));
                        TextReader textReader = new StreamReader(themeFile);
                        iceChatColors = (IceChatColors)deserializer.Deserialize(textReader);
                        textReader.Close();
                        textReader.Dispose();
                        colorsFile = themeFile;
                    }
                    else
                    {
                        System.Diagnostics.Debug.WriteLine("Color Theme File not found:" + themeFile);
                    }

                    themeFile = currentFolder + System.IO.Path.DirectorySeparatorChar + "Messages-" + iceChatOptions.CurrentTheme + ".xml";
                    if (File.Exists(themeFile))
                    {
                        XmlSerializer deserializer = new XmlSerializer(typeof(IceChatMessageFormat));
                        TextReader textReader = new StreamReader(themeFile);
                        iceChatMessages = (IceChatMessageFormat)deserializer.Deserialize(textReader);
                        textReader.Close();
                        textReader.Dispose();

                        messagesFile = themeFile;
                    }
                    else
                    {
                        System.Diagnostics.Debug.WriteLine("Messages Theme File not found:" + themeFile);
                    }

                }
            }
            if (iceChatOptions.Themes == null)
            {
                iceChatOptions.Themes = new string[1];
                iceChatOptions.Themes[0] = "Default";
            }

            channelList = new ChannelList();
            channelList.Dock = DockStyle.Fill;
            buddyList = new BuddyList();
            buddyList.Dock = DockStyle.Fill;

            toolStripMain.BackColor = IrcColor.colors[iceChatColors.ToolbarBackColor];
            menuMainStrip.BackColor = IrcColor.colors[iceChatColors.MenubarBackColor];
            statusStripMain.BackColor = IrcColor.colors[iceChatColors.StatusbarBackColor];
            toolStripStatus.ForeColor = IrcColor.colors[iceChatColors.StatusbarForeColor];
            inputPanel.SetInputBoxColors();
            channelList.SetListColors();
            buddyList.SetListColors();

            nickList = new NickList();
            nickList.Header = iceChatLanguage.consoleTabTitle;
            nickList.Dock = DockStyle.Fill;

            serverListTab = new TabPage("Favorite Servers");
            Panel serverPanel = new Panel();
            serverPanel.Dock = DockStyle.Fill;
            serverPanel.Controls.Add(serverTree);
            serverListTab.Controls.Add(serverPanel);
            serverListTab.BackColor = IrcColor.colors[iceChatColors.PanelHeaderBG1];
            serverListTab.ForeColor = IrcColor.colors[iceChatColors.PanelHeaderForeColor];
            this.panelDockLeft.TabControl.TabPages.Add(serverListTab);

            nickListTab = new TabPage("Nick List");
            Panel nickPanel = new Panel();
            nickPanel.Dock = DockStyle.Fill;
            nickPanel.Controls.Add(nickList);
            nickListTab.Controls.Add(nickPanel);
            nickListTab.BackColor = IrcColor.colors[iceChatColors.PanelHeaderBG1];
            nickListTab.ForeColor = IrcColor.colors[iceChatColors.PanelHeaderForeColor];
            this.panelDockRight.TabControl.TabPages.Add(nickListTab);

            channelListTab = new TabPage("Favorite Channels");
            Panel channelPanel = new Panel();
            channelPanel.Dock = DockStyle.Fill;
            channelPanel.Controls.Add(channelList);
            channelListTab.Controls.Add(channelPanel);
            channelListTab.BackColor = IrcColor.colors[iceChatColors.PanelHeaderBG1];
            channelListTab.ForeColor = IrcColor.colors[iceChatColors.PanelHeaderForeColor];
            this.panelDockRight.TabControl.TabPages.Add(channelListTab);

            buddyListTab = new TabPage("Buddy List");
            Panel buddyPanel = new Panel();
            buddyPanel.Dock = DockStyle.Fill;
            buddyPanel.Controls.Add(buddyList);
            buddyListTab.Controls.Add(buddyPanel);
            buddyListTab.BackColor = IrcColor.colors[iceChatColors.PanelHeaderBG1];
            buddyListTab.ForeColor = IrcColor.colors[iceChatColors.PanelHeaderForeColor];
            this.panelDockRight.TabControl.TabPages.Add(buddyListTab);

            panelDockLeft.Width = iceChatOptions.LeftPanelWidth;
            panelDockLeft.TabControl.Alignment = TabAlignment.Left;
            panelDockRight.Width = iceChatOptions.RightPanelWidth;
            panelDockRight.TabControl.Alignment = TabAlignment.Right;

            nickList.Font = new Font(iceChatFonts.FontSettings[3].FontName, iceChatFonts.FontSettings[3].FontSize);
            serverTree.Font = new Font(iceChatFonts.FontSettings[4].FontName, iceChatFonts.FontSettings[4].FontSize);

            inputPanel.OnCommand +=new InputPanel.OnCommandDelegate(inputPanel_OnCommand);
            inputPanel.InputBoxFont = new Font(iceChatFonts.FontSettings[5].FontName, iceChatFonts.FontSettings[5].FontSize);

            mainTabControl.SelectedIndexChanged += new IceTabControl.TabEventHandler(TabSelectedIndexChanged);
            mainTabControl.OnTabClosed += new IceTabControl.TabClosedDelegate(mainTabControl_OnTabClosed);

            panelDockLeft.Initialize();
            panelDockRight.Initialize();

            //menuMainStrip.Font = new Font(iceChatFonts.FontSettings[7].FontName, iceChatFonts.FontSettings[7].FontSize);

            serverTree.NewServerConnection += new NewServerConnectionDelegate(NewServerConnection);
            serverTree.SaveDefault += new ServerTree.SaveDefaultDelegate(OnDefaultServerSettings);

            CreateDefaultConsoleWindow();

            this.FormClosing += new FormClosingEventHandler(FormMainClosing);
            this.Resize += new EventHandler(FormMainResize);

            if (iceChatOptions.IdentServer)
                identServer = new IdentServer();

            loadedPlugins = new List<IPluginIceChat>();

            if (iceChatLanguage.LanguageName != "English") ApplyLanguage(); // ApplyLanguage can first be called after all child controls are created

            WindowMessage(null, "Console", "Data Folder: " + currentFolder, 4, true);
            WindowMessage(null, "Console", "Plugins Folder: " + pluginsFolder, 4, true);

            //check for an update
            System.Threading.Thread checkThread = new System.Threading.Thread(checkForUpdate);
            checkThread.Name = "CheckUpdateThread";
            checkThread.Start();

            //check for router ip
            if (iceChatOptions.DCCLocalIP == null || iceChatOptions.DCCLocalIP.Length == 0)
            {
                System.Threading.Thread thread = new System.Threading.Thread(getLocalIPAddress);
                thread.Name = "DCCIP";
                thread.Start();
            }

            splash.Close();
            splash.Dispose();

            //load any plugin addons
            LoadPlugins();

            //load the plugin settings file
            LoadPluginFiles();

            //set any plugins as disabled
            //add any items top the pluginsFile if they do not exist, or remove any that do not
            foreach (IPluginIceChat ipc in FormMain.Instance.IceChatPlugins)
            {
                bool found = false;
                for (int i = 0; i < iceChatPlugins.listPlugins.Count; i++)
                {
                    if (iceChatPlugins.listPlugins[i].PluginFile.Equals(ipc.FileName))
                    {
                        found = true;

                        //check if the plugin is enabled or not
                        if (iceChatPlugins.listPlugins[i].Enabled == false)
                        {
                            WindowMessage(null, "Console", "Disabled Plugin - " + ipc.Name + " v" + ipc.Version, 4, true);

                            foreach (ToolStripMenuItem t in pluginsToolStripMenuItem.DropDownItems)
                                if (t.ToolTipText.ToLower() == ipc.FileName.ToLower())
                                    t.Image = StaticMethods.LoadResourceImage("CloseButton.png");

                            ipc.Enabled = false;
                        }
                    }
                }

                if (found == false)
                {
                    //plugin file not found in plugin Items file, add it
                    PluginItem item = new PluginItem();
                    item.Enabled = true;
                    item.PluginFile = ipc.FileName;
                    iceChatPlugins.AddPlugin(item);
                    SavePluginFiles();
                }

                //fire the event that the program has fully loaded
                if (ipc.Enabled == true)
                    ipc.MainProgramLoaded();
            }

            if (iceChatPlugins.listPlugins.Count != loadedPlugins.Count)
            {
                //find the file that is missing
                List<int> removeItems = new List<int>();
                for (int i = 0; i < iceChatPlugins.listPlugins.Count; i++)
                {
                    bool found = false;
                    foreach (IPluginIceChat ipc in FormMain.Instance.IceChatPlugins)
                    {
                        if (iceChatPlugins.listPlugins[i].PluginFile.Equals(ipc.FileName))
                            found = true;
                    }

                    if (found == false)
                        removeItems.Add(i);
                }

                if (removeItems.Count > 0)
                {
                    try
                    {
                        foreach (int i in removeItems)
                            iceChatPlugins.listPlugins.Remove(iceChatPlugins.listPlugins[i]);
                    }
                    catch { }

                    SavePluginFiles();
                }
            }

            this.Activated += new EventHandler(FormMainActivated);

            nickList.ShowNickButtons = iceChatOptions.ShowNickButtons;
            serverTree.ShowServerButtons = iceChatOptions.ShowServerButtons;

            this.flashTrayIconTimer = new System.Timers.Timer(2000);
            this.flashTrayIconTimer.Enabled = false;
            this.flashTrayIconTimer.Elapsed += new System.Timers.ElapsedEventHandler(flashTrayIconTimer_Elapsed);
            this.notifyIcon.Tag = "off";
            this.flashTrayCount = 0;

            this.flashTaskBarIconTimer = new System.Timers.Timer(2000);
            this.flashTaskBarIconTimer.Enabled = false;
            this.flashTaskBarIconTimer.Elapsed += new System.Timers.ElapsedEventHandler(flashTaskBarIconTimer_Elapsed);
            this.Tag = "off";
            this.flashTrayCount = 0;

            ToolStripMenuItem closeWindow = new ToolStripMenuItem(StaticMethods.LoadResourceImage("CloseButton.png"));
            closeWindow.Alignment = ToolStripItemAlignment.Right;
            closeWindow.Click += new EventHandler(closeWindow_Click);
            menuMainStrip.Items.Add(closeWindow);
        }
Esempio n. 6
0
        private void LoadDefaultMessageSettings()
        {
            IceChatMessageFormat oldMessage = new IceChatMessageFormat();

            oldMessage.MessageSettings = new ServerMessageFormatItem[49];

            if (iceChatMessages.MessageSettings != null)
            {
                iceChatMessages.MessageSettings.CopyTo(oldMessage.MessageSettings, 0);
            }

            iceChatMessages.MessageSettings = new ServerMessageFormatItem[49];

            if (oldMessage.MessageSettings[0] == null || oldMessage.MessageSettings[0].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[0] = NewMessageFormat("Server Connect", "&#x3;00*** Attempting to connect to $server ($serverip) on port $port");
            }
            else
            {
                iceChatMessages.MessageSettings[0] = oldMessage.MessageSettings[0];
            }

            if (oldMessage.MessageSettings[1] == null || oldMessage.MessageSettings[1].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[1] = NewMessageFormat("Server Disconnect", "&#x3;04*** Server disconnected on $server");
            }
            else
            {
                iceChatMessages.MessageSettings[1] = oldMessage.MessageSettings[1];
            }

            if (oldMessage.MessageSettings[2] == null || oldMessage.MessageSettings[2].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[2] = NewMessageFormat("Server Reconnect", "&#x3;00*** Attempting to re-connect to $server");
            }
            else
            {
                iceChatMessages.MessageSettings[2] = oldMessage.MessageSettings[2];
            }

            if (oldMessage.MessageSettings[3] == null || oldMessage.MessageSettings[3].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[3] = NewMessageFormat("Channel Invite", "&#x3;00* $nick invites you to $channel");
            }
            else
            {
                iceChatMessages.MessageSettings[3] = oldMessage.MessageSettings[3];
            }

            if (oldMessage.MessageSettings[7] == null || oldMessage.MessageSettings[7].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[7] = NewMessageFormat("Channel Mode", "&#x3;04* $nick sets mode $mode $modeparam for $channel");
            }
            else
            {
                iceChatMessages.MessageSettings[7] = oldMessage.MessageSettings[7];
            }

            if (oldMessage.MessageSettings[8] == null || oldMessage.MessageSettings[8].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[8] = NewMessageFormat("Server Mode", "&#x3;09* Your mode is now $mode");
            }
            else
            {
                iceChatMessages.MessageSettings[8] = oldMessage.MessageSettings[8];
            }

            if (oldMessage.MessageSettings[9] == null || oldMessage.MessageSettings[9].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[9] = NewMessageFormat("Server Notice", "&#x3;09*** $server $message");
            }
            else
            {
                iceChatMessages.MessageSettings[9] = oldMessage.MessageSettings[9];
            }

            if (oldMessage.MessageSettings[10] == null || oldMessage.MessageSettings[10].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[10] = NewMessageFormat("Server Message", "&#x3;00-$server- $message");
            }
            else
            {
                iceChatMessages.MessageSettings[10] = oldMessage.MessageSettings[10];
            }

            if (oldMessage.MessageSettings[11] == null || oldMessage.MessageSettings[11].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[11] = NewMessageFormat("User Notice", "&#x3;00--$nick-- $message");
            }
            else
            {
                iceChatMessages.MessageSettings[11] = oldMessage.MessageSettings[11];
            }

            if (oldMessage.MessageSettings[12] == null || oldMessage.MessageSettings[12].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[12] = NewMessageFormat("Channel Message", "&#x3;00<$color$status$nick&#x3;> $message");
            }
            else
            {
                iceChatMessages.MessageSettings[12] = oldMessage.MessageSettings[12];
            }

            if (oldMessage.MessageSettings[13] == null || oldMessage.MessageSettings[13].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[13] = NewMessageFormat("Self Channel Message", "&#x3;08<$nick&#x3;> $message");
            }
            else
            {
                iceChatMessages.MessageSettings[13] = oldMessage.MessageSettings[13];
            }

            if (oldMessage.MessageSettings[14] == null || oldMessage.MessageSettings[14].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[14] = NewMessageFormat("Channel Action", "&#x3;13* $nick $message");
            }
            else
            {
                iceChatMessages.MessageSettings[14] = oldMessage.MessageSettings[14];
            }

            if (oldMessage.MessageSettings[15] == null || oldMessage.MessageSettings[15].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[15] = NewMessageFormat("Self Channel Action", "&#x3;13* $nick $message");
            }
            else
            {
                iceChatMessages.MessageSettings[15] = oldMessage.MessageSettings[15];
            }

            if (oldMessage.MessageSettings[16] == null || oldMessage.MessageSettings[16].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[16] = NewMessageFormat("Channel Join", "&#x3;07* $nick ($host) has joined channel $channel");
            }
            else
            {
                iceChatMessages.MessageSettings[16] = oldMessage.MessageSettings[16];
            }

            if (oldMessage.MessageSettings[17] == null || oldMessage.MessageSettings[17].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[17] = NewMessageFormat("Self Channel Join", "&#x3;04* You have joined $channel");
            }
            else
            {
                iceChatMessages.MessageSettings[17] = oldMessage.MessageSettings[17];
            }

            if (oldMessage.MessageSettings[18] == null || oldMessage.MessageSettings[18].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[18] = NewMessageFormat("Channel Part", "&#x3;03* $nick ($host) has left $channel ($reason)");
            }
            else
            {
                iceChatMessages.MessageSettings[18] = oldMessage.MessageSettings[18];
            }

            if (oldMessage.MessageSettings[19] == null || oldMessage.MessageSettings[19].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[19] = NewMessageFormat("Self Channel Part", "&#x3;04* You have left $channel - You will be missed &#x3;10($reason)");
            }
            else
            {
                iceChatMessages.MessageSettings[19] = oldMessage.MessageSettings[19];
            }

            if (oldMessage.MessageSettings[20] == null || oldMessage.MessageSettings[20].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[20] = NewMessageFormat("Server Quit", "&#x3;09* $nick ($host) Quit ($reason)");
            }
            else
            {
                iceChatMessages.MessageSettings[20] = oldMessage.MessageSettings[20];
            }

            if (oldMessage.MessageSettings[21] == null || oldMessage.MessageSettings[21].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[21] = NewMessageFormat("Channel Nick Change", "&#x3;07* $nick is now known as $newnick");
            }
            else
            {
                iceChatMessages.MessageSettings[21] = oldMessage.MessageSettings[21];
            }

            if (oldMessage.MessageSettings[22] == null || oldMessage.MessageSettings[22].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[22] = NewMessageFormat("Self Nick Change", "&#x3;04* You are now known as $newnick");
            }
            else
            {
                iceChatMessages.MessageSettings[22] = oldMessage.MessageSettings[22];
            }

            if (oldMessage.MessageSettings[23] == null || oldMessage.MessageSettings[23].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[23] = NewMessageFormat("Channel Kick", "&#x3;08* $kickee was kicked by $nick($host) &#x3;03 - Reason ($reason)");
            }
            else
            {
                iceChatMessages.MessageSettings[23] = oldMessage.MessageSettings[23];
            }

            if (oldMessage.MessageSettings[24] == null || oldMessage.MessageSettings[24].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[24] = NewMessageFormat("Self Channel Kick", "&#x3;04* You were kicked from $channel by $kicker (&#x3;03$reason)");
            }
            else
            {
                iceChatMessages.MessageSettings[24] = oldMessage.MessageSettings[24];
            }

            if (oldMessage.MessageSettings[25] == null || oldMessage.MessageSettings[25].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[25] = NewMessageFormat("Private Message", "&#x3;00<$nick> $message");
            }
            else
            {
                iceChatMessages.MessageSettings[25] = oldMessage.MessageSettings[25];
            }

            if (oldMessage.MessageSettings[26] == null || oldMessage.MessageSettings[26].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[26] = NewMessageFormat("Self Private Message", "&#x3;04<$nick>&#x3;04 $message");
            }
            else
            {
                iceChatMessages.MessageSettings[26] = oldMessage.MessageSettings[26];
            }

            if (oldMessage.MessageSettings[27] == null || oldMessage.MessageSettings[27].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[27] = NewMessageFormat("Private Action", "&#x3;13* $nick $message");
            }
            else
            {
                iceChatMessages.MessageSettings[27] = oldMessage.MessageSettings[27];
            }

            if (oldMessage.MessageSettings[28] == null || oldMessage.MessageSettings[28].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[28] = NewMessageFormat("Self Private Action", "&#x3;13* $nick $message");
            }
            else
            {
                iceChatMessages.MessageSettings[28] = oldMessage.MessageSettings[28];
            }

            if (oldMessage.MessageSettings[35] == null || oldMessage.MessageSettings[35].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[35] = NewMessageFormat("Channel Topic Change", "&#x3;03* $nick changes topic to: $topic");
            }
            else
            {
                iceChatMessages.MessageSettings[35] = oldMessage.MessageSettings[35];
            }

            if (oldMessage.MessageSettings[36] == null || oldMessage.MessageSettings[36].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[36] = NewMessageFormat("Channel Topic Text", "&#x3;00Topic: $topic");
            }
            else
            {
                iceChatMessages.MessageSettings[36] = oldMessage.MessageSettings[36];
            }

            if (oldMessage.MessageSettings[37] == null || oldMessage.MessageSettings[37].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[37] = NewMessageFormat("Server MOTD", "&#x3;00$message");
            }
            else
            {
                iceChatMessages.MessageSettings[37] = oldMessage.MessageSettings[37];
            }

            if (oldMessage.MessageSettings[38] == null || oldMessage.MessageSettings[38].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[38] = NewMessageFormat("Channel Notice", "&#x3;04-$nick:$status$channel- $message");
            }
            else
            {
                iceChatMessages.MessageSettings[38] = oldMessage.MessageSettings[38];
            }

            if (oldMessage.MessageSettings[39] == null || oldMessage.MessageSettings[39].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[39] = NewMessageFormat("Channel Other", "&#x3;00$message");
            }
            else
            {
                iceChatMessages.MessageSettings[39] = oldMessage.MessageSettings[39];
            }

            if (oldMessage.MessageSettings[40] == null || oldMessage.MessageSettings[40].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[40] = NewMessageFormat("User Echo", "&#x3;07$message");
            }
            else
            {
                iceChatMessages.MessageSettings[40] = oldMessage.MessageSettings[40];
            }

            if (oldMessage.MessageSettings[41] == null || oldMessage.MessageSettings[41].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[41] = NewMessageFormat("Server Error", "&#x3;04ERROR: $message");
            }
            else
            {
                iceChatMessages.MessageSettings[41] = oldMessage.MessageSettings[41];
            }

            if (oldMessage.MessageSettings[42] == null || oldMessage.MessageSettings[42].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[42] = NewMessageFormat("User Whois", "&#x3;12->> $nick $data");
            }
            else
            {
                iceChatMessages.MessageSettings[42] = oldMessage.MessageSettings[42];
            }

            if (oldMessage.MessageSettings[43] == null || oldMessage.MessageSettings[43].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[43] = NewMessageFormat("User Error", "&#x3;04ERROR: $message");
            }
            else
            {
                iceChatMessages.MessageSettings[43] = oldMessage.MessageSettings[43];
            }

            if (oldMessage.MessageSettings[44] == null || oldMessage.MessageSettings[44].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[44] = NewMessageFormat("DCC Chat Connect", "&#x3;00* DCC Chat Connection Established with $nick");
            }
            else
            {
                iceChatMessages.MessageSettings[44] = oldMessage.MessageSettings[44];
            }

            if (oldMessage.MessageSettings[45] == null || oldMessage.MessageSettings[45].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[45] = NewMessageFormat("DCC Chat Disconnect", "&#x3;04* DCC Chat Disconnected from $nick");
            }
            else
            {
                iceChatMessages.MessageSettings[45] = oldMessage.MessageSettings[45];
            }

            if (oldMessage.MessageSettings[48] == null || oldMessage.MessageSettings[13].FormattedMessage.Length == 0)
            {
                iceChatMessages.MessageSettings[48] = NewMessageFormat("Self Notice", "&#x3;04--> $nick - $message");
            }
            else
            {
                iceChatMessages.MessageSettings[48] = oldMessage.MessageSettings[48];
            }

            //still do customize these messages
            iceChatMessages.MessageSettings[4] = NewMessageFormat("Ctcp Reply", "&#x3;12[$nick $ctcp Reply] : $reply");
            iceChatMessages.MessageSettings[5] = NewMessageFormat("Ctcp Send", "&#x3;10--> [$nick] $ctcp");
            iceChatMessages.MessageSettings[6] = NewMessageFormat("Ctcp Request", "&#x3;07[$nick] $ctcp");

            iceChatMessages.MessageSettings[29] = NewMessageFormat("DCC Chat Action", "&#x3;13* $nick $message");
            iceChatMessages.MessageSettings[30] = NewMessageFormat("Self DCC Chat Action", "&#x3;13* $nick $message");
            iceChatMessages.MessageSettings[31] = NewMessageFormat("DCC Chat Message", "&#x3;00<$nick> $message");
            iceChatMessages.MessageSettings[32] = NewMessageFormat("Self DCC Chat Message", "&#x3;04<$nick> $message");

            iceChatMessages.MessageSettings[33] = NewMessageFormat("DCC Chat Request", "&#x3;04* $nick ($host) is requesting a DCC Chat");
            iceChatMessages.MessageSettings[34] = NewMessageFormat("DCC File Send", "&#x3;04* $nick ($host) is trying to send you a file ($file) [$filesize bytes]");

            iceChatMessages.MessageSettings[46] = NewMessageFormat("DCC Chat Outgoing", "&#x3;00* DCC Chat Requested with $nick");
            iceChatMessages.MessageSettings[47] = NewMessageFormat("DCC Chat Timeout", "&#x3;00* DCC Chat with $nick timed out");

            SaveMessageFormat();
        }
Esempio n. 7
0
        private void comboTheme_SelectedIndexChanged(object sender, EventArgs e)
        {
            //change the current theme
            System.Diagnostics.Debug.WriteLine("Change theme to " + comboTheme.Text);
            string themeColorsFile = "";
            string themeMessagesFile = "";

            if (comboTheme.Text == "Default")
            {
                themeColorsFile = FormMain.Instance.CurrentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatColors.xml";
                themeMessagesFile = FormMain.Instance.CurrentFolder + System.IO.Path.DirectorySeparatorChar + "IceChatMessages.xml";
            }
            else
            {
                themeColorsFile = FormMain.Instance.CurrentFolder + System.IO.Path.DirectorySeparatorChar + "Colors-" + comboTheme.Text + ".xml";
                themeMessagesFile = FormMain.Instance.CurrentFolder + System.IO.Path.DirectorySeparatorChar + "Messages-" + comboTheme.Text + ".xml";
            }

            if (themeColorsFile.Length > 0 && File.Exists(themeColorsFile))
            {
                XmlSerializer deserializer = new XmlSerializer(typeof(IceChatColors));
                TextReader textReader = new StreamReader(themeColorsFile);
                this.iceChatColors = (IceChatColors)deserializer.Deserialize(textReader);
                textReader.Close();
                textReader.Dispose();

                FormMain.Instance.IceChatOptions.CurrentTheme = comboTheme.Text;
                FormMain.Instance.ColorsFile = themeColorsFile;
                UpdateColorSettings();
            }

            if (themeMessagesFile.Length > 0 && File.Exists(themeMessagesFile))
            {
                XmlSerializer deserializer = new XmlSerializer(typeof(IceChatMessageFormat));
                TextReader textReader = new StreamReader(themeMessagesFile);
                this.iceChatMessages = (IceChatMessageFormat)deserializer.Deserialize(textReader);
                textReader.Close();
                textReader.Dispose();

                FormMain.Instance.MessagesFile = themeMessagesFile;
                UpdateMessageSettings();

            }
        }
Esempio n. 8
0
        public FormColors(IceChatMessageFormat MessageFormat, IceChatColors IceChatColors)
        {
            InitializeComponent();

            //add the events for the Tab Bar Color Picker
            this.pictureTabCurrent.Click += new EventHandler(OnColor_Click);
            this.pictureTabMessage.Click += new EventHandler(OnColor_Click);
            this.pictureTabJoin.Click += new EventHandler(OnColor_Click);
            this.pictureTabPart.Click += new EventHandler(OnColor_Click);
            this.pictureTabQuit.Click += new EventHandler(OnColor_Click);
            this.pictureTabServer.Click += new EventHandler(OnColor_Click);
            this.pictureTabOther.Click += new EventHandler(OnColor_Click);
            this.pictureTabDefault.Click += new EventHandler(OnColor_Click);

            //add the events for the Nick Color Picker
            this.pictureAdmin.Click += new EventHandler(OnColor_Click);
            this.pictureOwner.Click += new EventHandler(OnColor_Click);
            this.pictureOperator.Click += new EventHandler(OnColor_Click);
            this.pictureHalfOperator.Click += new EventHandler(OnColor_Click);
            this.pictureVoice.Click += new EventHandler(OnColor_Click);
            this.pictureDefault.Click += new EventHandler(OnColor_Click);

            this.pictureConsole.Click += new EventHandler(OnColor_Click);
            this.pictureChannel.Click += new EventHandler(OnColor_Click);
            this.pictureQuery.Click += new EventHandler(OnColor_Click);
            this.pictureNickList.Click += new EventHandler(OnColor_Click);
            this.pictureServerList.Click += new EventHandler(OnColor_Click);
            this.pictureTabBarCurrent1.Click += new EventHandler(OnColor_Click);
            this.pictureTabBarCurrent2.Click += new EventHandler(OnColor_Click);
            this.pictureTabBarOther1.Click += new EventHandler(OnColor_Click);
            this.pictureTabBarOther2.Click += new EventHandler(OnColor_Click);
            this.pictureTabBackground.Click += new EventHandler(OnColor_Click);

            this.pictureTabBarHover1.Click += new EventHandler(OnColor_Click);
            this.pictureTabBarHover2.Click += new EventHandler(OnColor_Click);

            this.picturePanelHeaderBG1.Click += new EventHandler(OnColor_Click);
            this.picturePanelHeaderBG2.Click += new EventHandler(OnColor_Click);
            this.picturePanelHeaderForeColor.Click += new EventHandler(OnColor_Click);
            this.pictureUnreadTextMarkerColor.Click += new EventHandler(OnColor_Click);

            this.pictureToolBar.Click += new EventHandler(OnColor_Click);
            this.pictureMenuBar.Click += new EventHandler(OnColor_Click);
            this.pictureInputBox.Click += new EventHandler(OnColor_Click);
            this.pictureInputBoxFore.Click += new EventHandler(OnColor_Click);
            this.pictureChannelList.Click += new EventHandler(OnColor_Click);
            this.pictureChannelListFore.Click += new EventHandler(OnColor_Click);
            this.pictureStatusBar.Click += new EventHandler(OnColor_Click);
            this.pictureStatusFore.Click += new EventHandler(OnColor_Click);

            this.iceChatColors = IceChatColors;

            UpdateColorSettings();

            messageIdentifiers = new Hashtable();
            AddMessageIdentifiers();

            colorPicker = new ColorButtonArray(panelColorPicker);
            colorPicker.OnClick += new ColorButtonArray.ColorSelected(colorPicker_OnClick);

            treeMessages.AfterSelect += new TreeViewEventHandler(treeMessages_AfterSelect);
            textRawMessage.TextChanged+=new EventHandler(textRawMessage_TextChanged);
            textRawMessage.KeyDown += new KeyEventHandler(textRawMessage_KeyDown);
            listIdentifiers.DoubleClick += new EventHandler(listIdentifiers_DoubleClick);

            treeBasicMessages.AfterSelect += new TreeViewEventHandler(treeBasicMessages_AfterSelect);

            tabMessages.SelectedTab = tabBasic;

            iceChatMessages = MessageFormat;

            textFormattedText.SingleLine = true;
            textFormattedText.NoEmoticons = true;
            textFormattedBasic.SingleLine = true;
            textFormattedBasic.NoEmoticons = true;

            //populate Message Settings

            UpdateMessageSettings();

            //load any plugin addons
            foreach (IPluginIceChat ipc in FormMain.Instance.IceChatPlugins)
            {
                if (ipc.Enabled == true)
                    ipc.LoadColorsForm(this.tabControlColors);
            }

            ApplyLanguage();

            if (FormMain.Instance.IceChatOptions.Themes != null)
            {
                foreach (string theme in FormMain.Instance.IceChatOptions.Themes)
                    comboTheme.Items.Add(theme);
            }
            comboTheme.Text = FormMain.Instance.IceChatOptions.CurrentTheme;
        }