Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37837021
en ru br
ALT Linux repos
5.0: 0.2.1-alt5.1
4.1: 0.2.1-alt5.1
4.0: 0.2.1-alt5
3.0: 0.2.1-alt4

Group :: Communications
RPM: wxdialer

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: wxDialer-0.2.1-etersoft.patch
Download


diff -urNa /home/lav/work/build/BUILD/wxDialer-0.2.1/Makefile wxDialer/Makefile
--- /home/lav/work/build/BUILD/wxDialer-0.2.1/Makefile	1970-01-01 03:00:00 +0300
+++ wxDialer/Makefile	2004-06-26 02:03:39 +0400
@@ -0,0 +1,28 @@
+
+gnulocaledir = $(datadir)/locale
+MSGFMT = /usr/bin/msgfmt
+POFILES = ru.po
+CATALOGS = ru.mo
+CATOBJEXT = .mo
+GETTEXT_PACKAGE=wxdialer
+
+all: $(CATALOGS)
+	
+
+messages.po: wxDialer.py
+	xgettext $<
+
+update-po: messages.po
+	msgmerge -U ru.po $<
+
+ru.mo: $(POFILES)
+	$(MSGFMT) -o $@ $<
+
+install: $(CATALOGS)
+	for cat in $(CATALOGS); do \
+	  cat=`basename $$cat`; \
+	  destdir=$(gnulocaledir); \
+	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
+	  dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
+	  install -D -m644 $$cat $$dir/$(GETTEXT_PACKAGE)$(CATOBJEXT); \
+	done
diff -urNa /home/lav/work/build/BUILD/wxDialer-0.2.1/ru.po wxDialer/ru.po
--- /home/lav/work/build/BUILD/wxDialer-0.2.1/ru.po	1970-01-01 03:00:00 +0300
+++ wxDialer/ru.po	2004-06-26 02:24:31 +0400
@@ -0,0 +1,268 @@
+# russian translation of wxDialer
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+# Vitaly Lipatov <lav@etersoft.ru>, 2004.
+# Vitaly Lipatov <lav@altlinux.ru>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: wxDialer 0.2.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-06-26 02:22+0400\n"
+"PO-Revision-Date: 2004-06-26 02:24MSK\n"
+"Last-Translator: Vitaly Lipatov <lav@altlinux.ru>\n"
+"Language-Team: Russian <ru@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=KOI8-R\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: wxDialer.py:29
+msgid "Please wait, loading..."
+msgstr "Выполняется загрузка..."
+
+#: wxDialer.py:59
+msgid "Welcome to wxDialer! Written by Aaron Redzik, 2003"
+msgstr "Добро пожаловать в wxDialer! Written by Aaron Redzik, 2003"
+
+#: wxDialer.py:64
+msgid "&About wxDialer"
+msgstr "&О программе wxDialer"
+
+#: wxDialer.py:64
+msgid "About wxDialer"
+msgstr "О программе wxDialer"
+
+#: wxDialer.py:65
+msgid "&Check for updates"
+msgstr "&Проверить наличие обновлений"
+
+#: wxDialer.py:65
+msgid "Check for new versions of wxDialer"
+msgstr "Проверить наличие новых версий wxDialer"
+
+#: wxDialer.py:67
+msgid "E&xit"
+msgstr "В&ыйти"
+
+#: wxDialer.py:67
+msgid "Terminate the program"
+msgstr "Завершить программу"
+
+#: wxDialer.py:69
+msgid "&Speed Dial"
+msgstr "&Быстрый набор"
+
+#: wxDialer.py:69
+msgid "Configure speed dial buttons"
+msgstr "Настроить кнопки быстрого набора"
+
+#: wxDialer.py:70
+msgid "&Edit settings"
+msgstr "&Редактировать настройки"
+
+#: wxDialer.py:70
+msgid "Edit program settings"
+msgstr "Редактировать настройки программы"
+
+#: wxDialer.py:71
+msgid "&View logfile"
+msgstr "&Просмотреть журнал"
+
+#: wxDialer.py:71
+msgid "View wxDialer logfile"
+msgstr "Просмотреть журнал wxDialer"
+
+#: wxDialer.py:72
+msgid "&Modem settings"
+msgstr "Настройки &модема"
+
+#: wxDialer.py:72
+msgid "Edit modem settings"
+msgstr "Редактировать настройки модема"
+
+#: wxDialer.py:75
+msgid "&File"
+msgstr "&Файл"
+
+#: wxDialer.py:76
+msgid "&Settings"
+msgstr "&Настройки"
+
+#: wxDialer.py:87 wxDialer.py:492
+msgid "Number to dial:"
+msgstr "Номер для набора:"
+
+#: wxDialer.py:91
+msgid "Dial"
+msgstr "Звонить"
+
+#: wxDialer.py:110 wxDialer.py:422
+msgid "Speed Dial"
+msgstr "Быстрый набор"
+
+#: wxDialer.py:130
+msgid "There's nothing to dial!"
+msgstr "Вы не указали номер!"
+
+#: wxDialer.py:147
+msgid "wxDialer - Version "
+msgstr "wxDialer - Версия"
+
+#: wxDialer.py:147
+msgid ""
+"\n"
+"http://wxdialer.sourceforge.net\n"
+"\n"
+"Written by Scrapz (aka Aaron Redzik)"
+msgstr ""
+"\n"
+"http://wxdialer.sourceforge.net\n"
+"\n"
+"Written by Scrapz (aka Aaron Redzik)"
+
+#: wxDialer.py:150
+msgid "About"
+msgstr "О программе"
+
+#: wxDialer.py:155
+msgid ""
+"Checking for updates\n"
+"...contacting server..."
+msgstr ""
+"Проверяем наличие обновлений\n"
+"...подсоединяемся к серверу..."
+
+#: wxDialer.py:164
+msgid "There was an error contacting the server"
+msgstr "Произошла ошибка при подключении к серверу"
+
+#: wxDialer.py:167
+msgid ""
+"Checking for updates\n"
+"...checking for data..."
+msgstr ""
+"Проверяем наличие обновлений\n"
+"...проверяем данные..."
+
+#: wxDialer.py:173
+#, python-format
+msgid "Error retrieving version data: %i"
+msgstr ""
+
+#: wxDialer.py:176
+msgid ""
+"Checking for updates\n"
+"...retrieving data..."
+msgstr ""
+
+#: wxDialer.py:181
+msgid "There is a new version of wxDialer ("
+msgstr "Существует более новая версия wxDialer ("
+
+#: wxDialer.py:181
+msgid ""
+")\n"
+"Please download it from:\n"
+"http://wxdialer.sourceforge.net/"
+msgstr ""
+")\n"
+"Вы можете загрузить её с сайта:\n"
+"http://wxdialer.sourceforge.net/"
+
+#: wxDialer.py:184
+msgid "New version available"
+msgstr "Доступна более новая версия"
+
+#: wxDialer.py:186
+msgid ""
+"You have the latest version of wxDialer\n"
+"Thank you for checking!"
+msgstr ""
+"У вас самая последняя версия wxDialer\n"
+"Благодарим за проверку!"
+
+#: wxDialer.py:188
+msgid "No new version available"
+msgstr "Новых версий не доступно"
+
+#: wxDialer.py:193
+msgid "Are you sure you want to quit?"
+msgstr "Действительно выйти из программы?"
+
+#: wxDialer.py:232
+msgid "The device "
+msgstr "Устройство"
+
+#: wxDialer.py:232
+#, fuzzy
+msgid ""
+" does not exist.\n"
+"Please change the device location in 'Edit settings'\n"
+"under the 'Settings' menu. You will not be able to dial\n"
+"out until this is fixed"
+msgstr "расположение дюйм Редактировать Настройки до  является"
+
+#: wxDialer.py:240
+msgid ""
+"Dialing...\n"
+"\n"
+msgstr ""
+"Набор номера...\n"
+"\n"
+
+#: wxDialer.py:241
+msgid "Dialing..."
+msgstr "Набор..."
+
+#: wxDialer.py:246
+msgid "Hangup"
+msgstr "Повесить трубку"
+
+#: wxDialer.py:263 wxDialer.py:376 wxDialer.py:430
+msgid "Save"
+msgstr "Сохранить"
+
+#: wxDialer.py:264
+msgid "Close"
+msgstr "Закрыть"
+
+#: wxDialer.py:265 wxDialer.py:429
+msgid "Clear"
+msgstr "Очистить"
+
+#: wxDialer.py:346
+msgid "Settings"
+msgstr "Настройки"
+
+#: wxDialer.py:350
+msgid "What device is the modem hooked up to?"
+msgstr "К какому устройству подсоединён модем?"
+
+#: wxDialer.py:363
+msgid "Dialing mode:"
+msgstr "Способ набора номера:"
+
+#: wxDialer.py:367
+msgid "Baud rate:"
+msgstr ""
+
+#: wxDialer.py:377 wxDialer.py:431 wxDialer.py:495
+msgid "Cancel"
+msgstr "Отменить"
+
+#: wxDialer.py:432 wxDialer.py:489
+msgid "Name:"
+msgstr "Название:"
+
+#: wxDialer.py:433
+msgid "Number:"
+msgstr "Номер:"
+
+#: wxDialer.py:486
+msgid "Speed dial("
+msgstr "Быстрый набор("
+
diff -urNa /home/lav/work/build/BUILD/wxDialer-0.2.1/wxDialer.py wxDialer/wxDialer.py
--- /home/lav/work/build/BUILD/wxDialer-0.2.1/wxDialer.py	2003-09-10 07:01:22 +0400
+++ wxDialer/wxDialer.py	2004-06-26 02:24:01 +0400
@@ -17,7 +17,16 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 
-print "Please wait, loading..."
+from gettext import gettext as _
+import locale
+try:
+	locale.setlocale(locale.LC_ALL, '')
+except:
+	print "Cannot set locale"
+import gettext
+gettext.textdomain("wxdialer")
+
+print _("Please wait, loading...")
 
 import sys
 try: from wxPython.wx import *
@@ -28,6 +37,7 @@
 	sys.exit()
 import os, re, time
 
+
 ver = "0.2.1"
 HOME = os.environ["HOME"]
 rootDir = os.path.join(HOME, ".wxDialer")
@@ -46,24 +56,24 @@
 	def __init__(self, parent, ID, title):
 		wxFrame.__init__(self, parent, ID, title, wxDefaultPosition, wxSize(315,290))
 		self.CreateStatusBar()
-		self.SetStatusText("Welcome to wxDialer! Written by Aaron Redzik, 2003")
+		self.SetStatusText(_("Welcome to wxDialer! Written by Aaron Redzik, 2003"))
 	
 		FILEmenu = wxMenu()
 		SETTINGSmenu = wxMenu()
 		
-		FILEmenu.Append(ID_FILE_ABOUT, "&About wxDialer", "About wxDialer")
-		FILEmenu.Append(ID_FILE_CHECK, "&Check for updates", "Check for new versions of wxDialer")
+		FILEmenu.Append(ID_FILE_ABOUT, _("&About wxDialer"), _("About wxDialer"))
+		FILEmenu.Append(ID_FILE_CHECK, _("&Check for updates"), _("Check for new versions of wxDialer"))
 		FILEmenu.AppendSeparator()
-		FILEmenu.Append(ID_FILE_EXIT, "E&xit", "Terminate the program")
+		FILEmenu.Append(ID_FILE_EXIT, _("E&xit"), _("Terminate the program"))
 		
-		SETTINGSmenu.Append(ID_SETTINGS_SD, "&Speed Dial", "Configure speed dial buttons")
-		SETTINGSmenu.Append(ID_SETTINGS_EDIT, "&Edit settings", "Edit program settings")
-		SETTINGSmenu.Append(ID_SETTINGS_VLOG, "&View logfile", "View wxDialer logfile")
-		SETTINGSmenu.Append(ID_SETTINGS_MODEM, "&Modem settings", "Edit modem settings")
+		SETTINGSmenu.Append(ID_SETTINGS_SD, _("&Speed Dial"), _("Configure speed dial buttons"))
+		SETTINGSmenu.Append(ID_SETTINGS_EDIT, _("&Edit settings"), _("Edit program settings"))
+		SETTINGSmenu.Append(ID_SETTINGS_VLOG, _("&View logfile"), _("View wxDialer logfile"))
+		SETTINGSmenu.Append(ID_SETTINGS_MODEM, _("&Modem settings"), _("Edit modem settings"))
 		
 		menuBar = wxMenuBar()
-		menuBar.Append(FILEmenu, "&File");
-		menuBar.Append(SETTINGSmenu, "&Settings");
+		menuBar.Append(FILEmenu, _("&File"));
+		menuBar.Append(SETTINGSmenu, _("&Settings"));
 		self.SetMenuBar(menuBar)
 		
 		EVT_MENU(self, ID_FILE_ABOUT, self.FileAbout)
@@ -74,11 +84,15 @@
 		EVT_MENU(self, ID_SETTINGS_VLOG, self.SettingsVLog)
 		EVT_MENU(self, ID_SETTINGS_MODEM, self.SettingsModem)
 
-		self.lblname = wxStaticText(self, -1, "Number to dial:",wxPoint(5,5))
-		self.logger = wxTextCtrl(self, 20, "", wxPoint(5, 22), wxSize(110, -1), wxTE_READONLY)
-		#self.editname = wxTextCtrl(self, 20, "", wxPoint(5, 22), wxSize(110,-1))
+		self.lblname = wxStaticText(self, -1, _("Number to dial:"),wxPoint(5,5))
+		self.logger = wxTextCtrl(self, 20, "", wxPoint(5, 22), wxSize(110, -1), wxTE_PROCESS_ENTER )
+		self.logger.SetFocus()
 		self.but_CLR = wxButton(self, 8, "C", wxPoint(120, 22), wxSize(22, 22))
-		self.but_dial = wxButton(self, 9, "Dial", wxPoint(5, 48), wxSize(140,-1))
+		self.but_dial = wxButton(self, wxEVT_COMMAND_TEXT_ENTER, _("Dial"), wxPoint(5, 48), wxSize(140,-1))
+		
+		if len (sys.argv) == 3 and sys.argv[1] == "--phone":
+			self.logger.AppendText(sys.argv[2])
+		
 		# Numeric keypad
 		self.but_one = wxButton(self, 11, "1", wxPoint(18, 80), wxSize(30, 30))
 		self.but_two = wxButton(self, 12, "2", wxPoint(58, 80), wxSize(30, 30))
@@ -89,11 +103,11 @@
 		self.but_sev = wxButton(self, 17, "7", wxPoint(18, 160), wxSize(30, 30))
 		self.but_eig = wxButton(self, 18, "8", wxPoint(58, 160), wxSize(30, 30))
 		self.but_nin = wxButton(self, 19, "9", wxPoint(98, 160), wxSize(30, 30))
-		self.but_STA = wxButton(self, 20, "*", wxPoint(18, 200), wxSize(30, 30))
+		self.but_STA = wxButton(self, 22, "*", wxPoint(18, 200), wxSize(30, 30))
 		self.but_zer = wxButton(self, 10, "0", wxPoint(58, 200), wxSize(30, 30))
 		self.but_HAS = wxButton(self, 21, "#", wxPoint(98, 200), wxSize(30, 30))
 		# SpeedDial buttons
-		self.lblname = wxStaticText(self, -1, "Speed Dial",wxPoint(165,5))
+		self.lblname = wxStaticText(self, -1, _("Speed Dial"),wxPoint(165,5))
 		self.but_sd1 = wxButton(self, 1, setting.sd[1][0], wxPoint(165, 22), wxSize(140, -1))
 		self.but_sd2 = wxButton(self, 2, setting.sd[2][0], wxPoint(165, 52), wxSize(140, -1))
 		self.but_sd3 = wxButton(self, 3, setting.sd[3][0], wxPoint(165, 82), wxSize(140, -1))
@@ -102,25 +116,25 @@
 		self.but_sd6 = wxButton(self, 6, setting.sd[6][0], wxPoint(165, 172), wxSize(140, -1))
 		self.but_sd7 = wxButton(self, 7, setting.sd[7][0], wxPoint(165, 202), wxSize(140, -1))
 		EVT_BUTTON(self, -1, self.ButtonPress)
+		EVT_TEXT_ENTER(self,-1, self.ButtonPress)
 	
 	def ButtonPress(self, event):
+		ToDial = self.logger.GetLineText(0)
 		ID = event.GetId()
 		if ID == 8:
-			setting.ToDial = ""
 			self.logger.Clear()
 			return
-		if ID == 9 and setting.ToDial == "":
-			wxLogError("There's nothing to dial!")
-		elif ID == 9 and setting.ToDial != "":
-			DialDialog(self, ["", setting.ToDial])
+		# some bug? it is should be identical codes
+		if ID == wxEVT_COMMAND_TEXT_ENTER or ID == 20:
+			if ToDial == "":
+				wxLogError(_("There's nothing to dial!"))
+			else:
+				DialDialog(self, ["", ToDial])
 		elif ID >= 10 and ID <= 19:
-			setting.ToDial += str(ID)[-1]
 			self.logger.AppendText(str(ID)[-1])
-		elif ID == 20:
-			setting.ToDial += "*"
+		elif ID == 22:
 			self.logger.AppendText("*")
 		elif ID == 21:
-			setting.ToDial += "#"
 			self.logger.AppendText("#")
 		elif ID >= 1 and ID <=7:
 			if setting.sd[ID][1] == "": 
@@ -130,16 +144,16 @@
 				DialDialog(self, setting.sd[ID])
 
 	def FileAbout(self, event):
-		dlg = wxMessageDialog(self, "wxDialer - Version "+ver+"\n"
+		dlg = wxMessageDialog(self, _("wxDialer - Version ")+ver+_("\n"
 					"http://wxdialer.sourceforge.net\n"
-					"\nWritten by Scrapz (aka Aaron Redzik)",
-					"About", wxOK | wxICON_INFORMATION)
+					"\nWritten by Scrapz (aka Aaron Redzik)"),
+					_("About"), wxOK | wxICON_INFORMATION)
 		dlg.ShowModal()
 		dlg.Destroy()
 	
 	def FileCheck(self, event):
-		dlg1 = BusyDialog(self, "Checking for updates\n" \
-			"...contacting server...")
+		dlg1 = BusyDialog(self, _("Checking for updates\n" \
+			"...contacting server..."))
 		from httplib import HTTPConnection
 		conn = HTTPConnection("wxdialer.sourceforge.net")
 		try:
@@ -147,36 +161,36 @@
 		except:
 			print "Error contacting server"
 			dlg1.close()
-			wxLogError("There was an error contacting the server")
+			wxLogError(_("There was an error contacting the server"))
 			return
 		dlg1.close()
-		dlg1 = BusyDialog(self, "Checking for updates\n" \
-			"...checking for data...")
+		dlg1 = BusyDialog(self, _("Checking for updates\n" \
+			"...checking for data..."))
 		response = conn.getresponse()
 		if response.status != 200:
 			print "Error retrieving version data: %i" % response.status
 			dlg1.close()
-			wxLogError("Error retrieving version data: %i" % response.status)
+			wxLogError(_("Error retrieving version data: %i") % response.status)
 			return
 		dlg1.close()
-		dlg1 = BusyDialog(self, "Checking for updates\n" \
-			"...retrieving data...")
+		dlg1 = BusyDialog(self, _("Checking for updates\n" \
+			"...retrieving data..."))
 		data = response.read()
 		data = data.rstrip()
 		if data != ver:
-			dlg = wxMessageDialog(self, "There is a new version of wxDialer ("+data+")\n"
+			dlg = wxMessageDialog(self, _("There is a new version of wxDialer (")+data+_(")\n"
 				"Please download it from:\n"
-				"http://wxdialer.sourceforge.net/",
-				"New version available", wxOK | wxICON_INFORMATION)
+				"http://wxdialer.sourceforge.net/"),
+				_("New version available"), wxOK | wxICON_INFORMATION)
 		else:
-			dlg = wxMessageDialog(self, "You have the latest version of wxDialer\n"
-				"Thank you for checking!",
-				"No new version available", wxOK | wxICON_INFORMATION)
+			dlg = wxMessageDialog(self, _("You have the latest version of wxDialer\n"
+				"Thank you for checking!"),
+				_("No new version available"), wxOK | wxICON_INFORMATION)
 		dlg1.close()
 		dlg.ShowModal()
 
 	def FileExit(self, event):
-		dlg = wxMessageDialog(self, "Are you sure you want to quit?",
+		dlg = wxMessageDialog(self, _("Are you sure you want to quit?"),
 					"Quit", wxCANCEL | wxICON_QUESTION)
 		x = dlg.ShowModal()
 		dlg.Destroy()
@@ -215,31 +229,29 @@
 class DialDialog(wxDialog):
 	def __init__(self, parent, NameAndNumber):
 		if not modem.exist:
-			wxLogError("The device "+setting.device+" does not exist.\n" \
+			wxLogError(_("The device ")+setting.device+_(" does not exist.\n" \
 				"Please change the device location in 'Edit settings'\n" \
 				"under the 'Settings' menu. You will not be able to dial\n" \
-				"out until this is fixed")
+				"out until this is fixed"))
 			return
 		Name = NameAndNumber[0]
 		if Name != "": Name = "\""+Name+"\""
 		Number = NameAndNumber[1]
-		DialText = "Dialing...\n\n"+Name+"\n"+Number
-		wxDialog.__init__(self,parent,-1,"Dialing...",wxDefaultPosition,size=(150,150))
+		DialText = _("Dialing...\n\n")+Name+"\n"+Number
+		wxDialog.__init__(self,parent,-1,_("Dialing..."),wxDefaultPosition,size=(150,150))
 		self.parent = parent
 		self.lbl1 = wxStaticText(self,-1,DialText,wxPoint(20,20))
 		#self.lbl4 = wxStaticText(self,-1,"00:00:00",wxPoint(20,80))
 
-		wxButton(self,wxID_OK,"Hangup",wxPoint(35,110),wxDefaultSize)
-		if setting.mode == "Tone": blarg = "ATDT"
-		else: blarg == "ATDP"
-		SendToModem(blarg+str(NameAndNumber[1])+";")
+		wxButton(self,wxID_OK,_("Hangup"),wxPoint(35,110),wxDefaultSize)
+		if setting.mode == "Tone":
+			blarg = modem.ToneDial
+		else:
+			blarg = modem.PulseDial
+		print ""+blarg+NameAndNumber[1]
+		modem.SendTo(""+blarg+NameAndNumber[1])
 		if self.ShowModal() == wxID_OK:
-			SendToModem("ATH0")
-
-def SendToModem(data):
-	blarg = file(setting.device, "r+")
-	blarg.write(data+"\r")
-	blarg.close()
+			modem.SendTo("ATH0")
 
 class ViewLogDialog(wxDialog):
 	def __init__(self, parent):
@@ -248,9 +260,9 @@
 		wxDialog.__init__(self, parent, -1, "wxDialer Logfile", wxDefaultPosition, size=(400,185))
 		self.parent = parent
 		self.logger = wxTextCtrl(self,5, "",wxPoint(0,0), wxSize(400,135),wxTE_MULTILINE | wxTE_READONLY)
-		self.butSAVE = wxButton(self, ID_SAVE, "Save", wxPoint(60,150))
-		self.butCLOSE = wxButton(self, wxID_OK, "Close", wxPoint(160,150))
-		self.butCLEAR = wxButton(self, ID_CLEAR, "Clear", wxPoint(260, 150))
+		self.butSAVE = wxButton(self, ID_SAVE, _("Save"), wxPoint(60,150))
+		self.butCLOSE = wxButton(self, wxID_OK, _("Close"), wxPoint(160,150))
+		self.butCLEAR = wxButton(self, ID_CLEAR, _("Clear"), wxPoint(260, 150))
 
 		EVT_BUTTON(self, ID_SAVE, self.SaveLog)
 		EVT_BUTTON(self, ID_CLEAR, self.ClearLog)
@@ -322,7 +334,6 @@
 		self.ld3 = lastDialedData[2]
 		self.ld4 = lastDialedData[3]
 		self.ld5 = lastDialedData[4]
-		self.ToDial = ""
 		self.device = re.sub(" ", "", configData[17].split("=")[1])
 		self.logFile = re.sub(" ", "", configData[18].split("=")[1])
 		self.ifLog = re.sub(" ", "", configData[19].split("=")[1])
@@ -332,11 +343,11 @@
 class SettingsDialog(wxDialog):
 	def __init__(self, parent):
 		self.changeOption = [setting.device, setting.ifLog, setting.mode, setting.rate]
-		wxDialog.__init__(self,parent,-1,"Settings",wxDefaultPosition,size=(250,275))
+		wxDialog.__init__(self,parent,-1,_("Settings"),wxDefaultPosition,size=(250,275))
 		self.CentreOnParent()
 		self.parent=parent
 		self.deviceList = ["/dev/modem","/dev/ttyS0\t(com1)","/dev/ttyS1\t(com2)","/dev/ttyS2\t(com3)","/dev/ttyS3\t(com4)"]
-		rb = wxRadioBox(self, 50, "What device is the modem hooked up to?", wxPoint(20,20), wxDefaultSize, self.deviceList, 1, wxRA_SPECIFY_COLS)
+		rb = wxRadioBox(self, 50, _("What device is the modem hooked up to?"), wxPoint(20,20), wxDefaultSize, self.deviceList, 1, wxRA_SPECIFY_COLS)
 		temp = setting.device
 		if temp == "/dev/modem":
 			rbNum = 0
@@ -349,11 +360,11 @@
 		elif temp == "/dev/ttyS3":
 			rbNum = 4
 		rb.SetSelection(rbNum)
-		self.lblMode = wxStaticText(self, -1, "Dialing mode:", wxPoint(20, 150))
+		self.lblMode = wxStaticText(self, -1, _("Dialing mode:"), wxPoint(20, 150))
 		self.lstMode = ["Tone", "Pulse"]
 		self.cboMode = wxComboBox(self, 51, "", wxPoint(20,170), wxSize(90, -1), self.lstMode, wxCB_DROPDOWN | wxTE_READONLY)
 		self.cboMode.SetValue(self.lstMode[self.lstMode.index(setting.mode)])
-		self.lblRate = wxStaticText(self, -1, "Baud rate:", wxPoint(135, 150))
+		self.lblRate = wxStaticText(self, -1, _("Baud rate:"), wxPoint(135, 150))
 		self.lstRate = ["9600", "19200", "38400", "57600", "115200", "230400"]
 		self.cboRate = wxComboBox(self, 52, "", wxPoint(135, 170), wxSize(90, -1), self.lstRate, wxCB_DROPDOWN | wxTE_READONLY)
 		self.cboRate.SetValue(self.lstRate[self.lstRate.index(setting.rate)])
@@ -362,8 +373,8 @@
 			self.enableLogging.SetValue(true)
 		else:
 			self.enableLogging.SetValue(false)
-		wxButton(self,wxID_OK,"Save",wxPoint(35,230),wxDefaultSize).SetDefault()
-		wxButton(self,wxID_CANCEL,"Cancel",wxPoint(135,230),wxDefaultSize)
+		wxButton(self,wxID_OK,_("Save"),wxPoint(35,230),wxDefaultSize).SetDefault()
+		wxButton(self,wxID_CANCEL,_("Cancel"),wxPoint(135,230),wxDefaultSize)
 		EVT_CHECKBOX(self, -1, self.CheckBoxLog)
 		EVT_RADIOBOX(self, -1, self.RadioBoxDevice)
 		EVT_COMBOBOX(self, 51, self.ComboMode)
@@ -408,18 +419,18 @@
 		for i in range(0, len(setting.sd)):
 			self.changeSD.append(setting.sd[i][:])
 		# /bug
-		wxDialog.__init__(self,parent,-1,"Speed dial",wxDefaultPosition,size=(250,175))
+		wxDialog.__init__(self,parent,-1,_("Speed Dial"),wxDefaultPosition,size=(250,175))
 		self.CentreOnParent()
 		self.parent=parent
 		self.sampleList = ["[Choose a button]","Speed Dial 1","Speed Dial 2","Speed Dial 3", \
 				"Speed Dial 4","Speed Dial 5", \
 				"Speed Dial 6","Speed Dial 7"]
 		self.editSD = wxComboBox(self,10,"",wxPoint(10,10),wxSize(115,-1), self.sampleList, wxCB_DROPDOWN | wxTE_READONLY)
-		self.butCLEAR = wxButton(self,ID_CLEAR,"Clear",wxPoint(135,10)) 
-		self.butSAVE = wxButton(self,wxID_OK,"Save",wxPoint(35,125))
-		self.butCANCEL = wxButton(self,wxID_CANCEL,"Cancel",wxPoint(135,125))
-		self.lblName = wxStaticText(self,-1,"Name:",wxPoint(55,55))
-		self.lblNumber = wxStaticText(self,-1,"Number:",wxPoint(45,90))
+		self.butCLEAR = wxButton(self,ID_CLEAR,_("Clear"),wxPoint(135,10)) 
+		self.butSAVE = wxButton(self,wxID_OK,_("Save"),wxPoint(35,125))
+		self.butCANCEL = wxButton(self,wxID_CANCEL,_("Cancel"),wxPoint(135,125))
+		self.lblName = wxStaticText(self,-1,_("Name:"),wxPoint(55,55))
+		self.lblNumber = wxStaticText(self,-1,_("Number:"),wxPoint(45,90))
 		self.editName = wxTextCtrl(self,20,"",wxPoint(95,50),wxSize(100,-1))
 		self.editNumber = wxTextCtrl(self,21,"",wxPoint(95,85),wxSize(100,-1))
 		EVT_COMBOBOX(self, 10, self.EvtComboBox)
@@ -472,16 +483,16 @@
 		self.idnum = idnum
 		self.changeSD = [setting.sd[idnum][0],""]
 		self.valid = ["0","1","2","3","4","5","6","7","8","9","#","*"]
-		wxDialog.__init__(self,parent,-1,"Speed dial("+str(idnum)+")",wxDefaultPosition,size=(195,165))
+		wxDialog.__init__(self,parent,-1,_("Speed dial(")+str(idnum)+")",wxDefaultPosition,size=(195,165))
 		self.CentreOnParent()
 		self.parent=parent
-		self.lblName = wxStaticText(self, -1, "Name:",wxPoint(25,10))
+		self.lblName = wxStaticText(self, -1, _("Name:"),wxPoint(25,10))
 		self.editName = wxTextCtrl(self, 20, "", wxPoint(25, 30), wxSize(140,-1))
 		self.editName.AppendText(setting.sd[idnum][0])
-		self.lblNumber = wxStaticText(self, -1, "Number to dial:",wxPoint(25,55))
+		self.lblNumber = wxStaticText(self, -1, _("Number to dial:"),wxPoint(25,55))
 		self.editNumber = wxTextCtrl(self, 21, "", wxPoint(25, 75), wxSize(140,-1))
-		wxButton(self,wxID_OK,"Save",wxPoint(10,120), wxDefaultSize).SetDefault()
-		wxButton(self,wxID_CANCEL,"Cancel",wxPoint(100,120),wxDefaultSize)
+		wxButton(self,wxID_OK,("Save"),wxPoint(10,120), wxDefaultSize).SetDefault()
+		wxButton(self,wxID_CANCEL,_("Cancel"),wxPoint(100,120),wxDefaultSize)
 		#EVT_BUTTON(self,wxID_OK,self.ButSave)
 		EVT_TEXT(self, -1, self.EvtText)
 		x = self.ShowModal()
@@ -577,19 +588,17 @@
 			self.exist = 0
 			return
 		else: self.exist = 1
-		modem = file(setting.device, "r+")
 		# Make sure the modem has hungup... just to be sure
-		modem.write(self.Hangup+"\n")
+		self.SendTo(self.Hangup)
 		# '&F' reloads the factory defaults for the modem
 		# '&W' stores those defaults as profile 0
-		modem.write("AT&F&W\n")
+		self.SendTo("AT&F&W")
 		# '&D0' ignores the on-to-off transition of the DTR
-		modem.write("AT&D0\n")
+		self.SendTo("AT&D0")
 		# Make sure the speaker is on...
-		modem.write(self.SPKon+"\n")
-		modem.write(self.Hangup+"\n")
+		self.SendTo(self.SPKon)
+		self.SendTo(self.Hangup)
 		# ...we're ready to rock!
-		modem.close()
 
 	def WriteConfig(self):
 		f = file(modemrc, "w")
@@ -608,6 +617,12 @@
 		self.Hangup = data[3].rstrip()
 		self.SPKoff = data[4].rstrip()
 		self.PulseDial = data[5].rstrip()
+
+	def SendTo(self,data):
+		blarg = file(setting.device, "r+")
+		blarg.write(data+"\n")
+		blarg.close()
+
 	
 class BusyDialog(wxFrame):
 	def __init__(self, parent, mess):
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin