private void SaveContactsSim() { // check for contacts description chars len string retCheck = GlobalObjUI.CheckAlphaCharsLen(GlobalObjUI.SimContacts); if (retCheck != "") { MainClass.ShowMessage(MainWindow, "ERROR", GlobalObjUI.LMan.GetString("maxlenexceeded") .Replace("'description'", "'<b>" + retCheck + "</b>'") + "<b>" + GlobalObjUI.SimADNMaxAlphaChars.ToString() + "</b>", MessageType.Warning); return; } SelectWriteModeDialogClass swmdc = new SelectWriteModeDialogClass(MainWindow, GlobalObjUI.LMan.GetString("savesimact")); int retMode = swmdc.Show(); if (retMode < 0) { // cancel button pressed return; } log.Debug("MainWindowClass::SaveContactsSim: SELECTED SIM WRITE MODE: " + retMode.ToString()); if (retMode == 1) { WriteContactsOnSim(GlobalObjUI.SimContacts, true); } else { WriteContactsOnSim(GlobalObjUI.SimContacts, false); } }
/// <summary> /// Updates during sim contacts reading /// </summary> private void ReadingUpdate() { PBar.SetValue(GlobalObjUI.SimADNPosition); mainwindow_Ui.StatusBar.ShowMessage(GlobalObjUI.LMan.GetString("readcontact") + GlobalObjUI.SimADNPosition.ToString("d3")); MainClass.QtWait(); if (GlobalObjUI.SimADNStatus == 3 && !isEnd) { isEnd = true; // End with errors MainClass.ShowMessage(this, "ERROR", GlobalObjUI.SimADNError, MainClass.MessageType.Error); // Update gui widgets properties ScanSimAfter(); // update gui widgets with results UpdateSimControls(false); } if (GlobalObjUI.SimADNStatus == 2 && !isEnd) { isEnd = true; // Extract contacts from records retStr = GlobalObjUI.FromRecordsToContacts(); if (retStr != "") { // error detected MainClass.ShowMessage(this, "ERROR", retStr, MainClass.MessageType.Error); // Update gui widgets properties ScanSimAfter(); // update gui widgets with results UpdateSimControls(false); } else { // update ListView List <string> rowContent = null; foreach (Contact cnt in GlobalObjUI.SimContacts.SimContacts) { rowContent = new List <string>(); rowContent.Add(" "); rowContent.Add(cnt.Description); rowContent.Add(cnt.PhoneNumber); new QTreeWidgetItem(mainwindow_Ui.LstSimContacts, rowContent); } // Update gui widgets properties ScanSimAfter(); // update gui widgets with results UpdateSimControls(true); } } }
/// <summary> /// Perform sim card connection and contacts read. /// </summary> private void SimConnect() { MainClass.QtWait(); if (GlobalObj.IsPowered) { // Disconnect card if needed GlobalObj.CloseConnection(); } // Connect to smartcard retStr = GlobalObj.AnswerToReset(ref ATR); // check for error if (retStr != "") { // error on answer to reset log.Error("MainWindowClass::SimConnect: " + retStr); MainClass.ShowMessage(this, "ERROR", retStr, MainClass.MessageType.Error); return; } // read sim contacts and fill list retStr = GlobalObjUI.SelectSimContactsList(); // check for error if (retStr != "") { if (retStr == GlobalObjUI.LMan.GetString("needpindisable")) { // Pin1 enabled MainClass.ShowMessage(this, "ERROR", retStr, MainClass.MessageType.Error); EnableSimPinControl(); return; } else { // error on reading contacts list GlobalObj.CloseConnection(); MainClass.ShowMessage(this, "ERROR", retStr, MainClass.MessageType.Error); return; } } ScanSimBefore(); mainwindow_Ui.LstSimContacts.Clear(); // Reset status values GlobalObjUI.SimADNStatus = 1; GlobalObjUI.SimADNPosition = 0; GlobalObjUI.SimADNError = ""; // Start thread for reading process isEnd = false; isReading = true; simThread = new System.Threading.Thread(new System.Threading.ThreadStart(GlobalObjUI.ReadSimContactsList)); simThread.Start(); }
public static void Main(string[] args) { AppNameVer = Assembly.GetExecutingAssembly().GetName().Name + " " + Assembly.GetExecutingAssembly().GetName().Version.ToString(); // check for help request if (new List <string>(args).Contains("--help")) { Console.WriteLine(GetHelpMsg()); return; } Application.Init(); retStr = GlobalObj.Initialize(args); // check for problems detected if (retStr != "") { // check for problem type if (!retStr.Contains("SCARD_")) { // error detected (not scard problem) ShowMessage(null, "ERROR", retStr, MessageType.Error); return; } else { // warning (scard problem, can use serial reader) ShowMessage(null, "WARNING", retStr, MessageType.Warning); } } try { // try to set language GlobalObjUI.SetLanguage("monosim-gtk"); } catch (Exception Ex) { // error detected log.Error("GlobalObjUI::SetLanguage: " + Ex.Message + "\r\n" + Ex.StackTrace); ShowMessage(null, "LANGUAGE SET ERROR", Ex.Message, MessageType.Error); return; } // create new Gtk Gui for application and show it MainWindowClass mwc = new MainWindowClass(); mwc.Show(); Application.Run(); }
/// <summary> /// Updates during sim contacts reading /// </summary> private void ReadingUpdate() { PBar.Adjustment.Value = (double)GlobalObjUI.SimADNPosition; StatusBar.Push(1, GlobalObjUI.LMan.GetString("readcontact") + GlobalObjUI.SimADNPosition.ToString("d3")); MainClass.GtkWait(); if (GlobalObjUI.SimADNStatus == 3) { // End with errors MainClass.ShowMessage(MainWindow, "ERROR", GlobalObjUI.SimADNError, MessageType.Error); // Update gui widgets properties ScanSimAfter(); // update gui widgets with results UpdateSimControls(false); } if (GlobalObjUI.SimADNStatus == 2) { // Extract contacts from records retStr = GlobalObjUI.FromRecordsToContacts(); if (retStr != "") { // error detected MainClass.ShowMessage(MainWindow, "ERROR", retStr, MessageType.Error); // Update gui widgets properties ScanSimAfter(); // update gui widgets with results UpdateSimControls(false); } else { // update ListView foreach (Contact cnt in GlobalObjUI.SimContacts.SimContacts) { lstSimContacts.AppendValues(new string[] { cnt.Description, cnt.PhoneNumber }); } // Update gui widgets properties ScanSimAfter(); // update gui widgets with results UpdateSimControls(true); } } }
private void SimChangePin() { // check for Pin1 check attempts if (GlobalObjUI.SimPin1Attempts == 1) { // Pin1 one attempt MainClass.ShowMessage(MainWindow, GlobalObjUI.LMan.GetString("pinsimact"), GlobalObjUI.LMan.GetString("pinsimchk3"), MessageType.Warning); return; } else if (GlobalObjUI.SimPin1Attempts == 0) { // Pin1 no more attempt MainClass.ShowMessage(MainWindow, GlobalObjUI.LMan.GetString("pinsimact"), GlobalObjUI.LMan.GetString("pinsimchk4"), MessageType.Warning); return; } // Change Pin1 dialog ChangePinStatusDialogClass cpsdc = new ChangePinStatusDialogClass(MainWindow); string pin1 = cpsdc.Show(); if (pin1 == null) { // cancel button pressed return; } // Perform Pin1 status change retStr = GlobalObjUI.SetPinStatus(!GlobalObjUI.SimPin1Status, pin1); if (retStr != "") { // error detected during Pin1 status change MainClass.ShowMessage(MainWindow, GlobalObjUI.LMan.GetString("pinsimact"), retStr, MessageType.Error); return; } // Pin1 status changed, reconnect sim now MainClass.ShowMessage(MainWindow, GlobalObjUI.LMan.GetString("pinsimact"), GlobalObjUI.LMan.GetString("pinsimdone"), MessageType.Info); // Force sim disconnect SimDisconnect(); }
/// <summary> /// Start sim update thread /// </summary> private void SimUpdate(Contacts cnts, bool isAppend) { ScanSimBefore(); // Reset status values GlobalObjUI.SimADNStatus = 1; GlobalObjUI.SimADNPosition = 0; GlobalObjUI.SimADNError = ""; // Start thread for reading process notify = new ThreadNotify(new ReadyEvent(WritingUpdate)); System.Threading.ThreadStart threadStart = delegate() { GlobalObjUI.WriteSimContactsList(cnts, isAppend); }; simThread = new System.Threading.Thread(threadStart); simThread.Start(); }
public static void Main(string[] args) { AppNameVer = Assembly.GetExecutingAssembly().GetName().Name + " " + Assembly.GetExecutingAssembly().GetName().Version.ToString(); // check for help request if (new List <string>(args).Contains("--help")) { Console.WriteLine(GetHelpMsg()); return; } // Init resource class manager Q_INIT_RESOURCE("ResManager"); // Create new Qyoto Application new QApplication(args); retStr = GlobalObj.Initialize(args); // check for problems detected if (retStr != "") { // check for problem type if (!retStr.Contains("SCARD_")) { // error detected (not scard problem) ShowMessage(null, "ERROR", retStr, MessageType.Error); QApplication.Quit(); return; } else { // warning (scard problem, can use serial reader) ShowMessage(null, "WARNING", retStr, MessageType.Warning); } } try { // try to set language GlobalObjUI.SetLanguage("monosim-qt"); } catch (Exception Ex) { // error detected log.Error("GlobalObjUI::SetLanguage: " + Ex.Message + "\r\n" + Ex.StackTrace); ShowMessage(null, "LANGUAGE SET ERROR", Ex.Message, MessageType.Error); return; } // Create new Qyoto Desktop Object QDesktopWidget qdw = new QDesktopWidget(); // Create MainWindow class manager MainWindowClass mwc = new MainWindowClass(); int wWidth = Convert.ToInt32(mwc.Width() / 2); int wHeight = Convert.ToInt32(mwc.Height() / 2); int dWidth = Convert.ToInt32(qdw.Width() / 2); int dHeight = Convert.ToInt32(qdw.Height() / 2); mwc.Move(dWidth - wWidth, dHeight - wHeight - 20); mwc.Show(); // Run Qyoto Application QApplication.Exec(); }