diff --git a/consolegui/application/CertificateClass.py b/consolegui/application/CertificateClass.py
index 6951e4c..7f302d0 100755
--- a/consolegui/application/CertificateClass.py
+++ b/consolegui/application/CertificateClass.py
@@ -326,7 +326,7 @@ class CertClass (QtGui.QWidget):
fa = open(user_root_cert, 'a')
fa.write(ca_root)
fa.close()
- _print (_("filename = ", filename))
+ _print (_("filename = "), filename)
show_msg (_("Root Certificate Add") + '\n' + filename)
else:
_print (_("file with ca certificates exists"))
diff --git a/consolegui/application/ConnectionTabs.py b/consolegui/application/ConnectionTabs.py
index 542da1f..15e859b 100644
--- a/consolegui/application/ConnectionTabs.py
+++ b/consolegui/application/ConnectionTabs.py
@@ -296,7 +296,7 @@ class ToolTabWidget(QtGui.QTabWidget):
self.setCurrentIndex(0)
self.removeTab(cur_num)
exit_flag = 1
- if self.count() < 2 :
+ if self.count() < 2:
self.add_tab()
return exit_flag
@@ -316,7 +316,6 @@ class ToolTabWidget(QtGui.QTabWidget):
self.new_con_txt)
self.setCurrentIndex(self.count() - 2)
-
def rename_tab(self, text = None, ind = None):
if not text:
text = self.new_con_txt
diff --git a/consolegui/application/ControlButton.py b/consolegui/application/ControlButton.py
index 8569b48..a5daa79 100644
--- a/consolegui/application/ControlButton.py
+++ b/consolegui/application/ControlButton.py
@@ -162,7 +162,7 @@ class ControlButtonWgt(QtGui.QWidget):
if hasattr (self, 'next_button'):
self.next_button.setStyleSheet("QPushButton {"
"color: white; margin 0px;"
- "padding-left: 3px; padding-right: 3px;"
+ "padding-left: 8px; padding-right: 8px;"
"border-left: 1px solid black; border-right: 1px solid black;"
"border-radius: 0px;"
"background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.95,"
@@ -171,7 +171,7 @@ class ControlButtonWgt(QtGui.QWidget):
if hasattr (self, 'prev_button'):
self.prev_button.setStyleSheet("QPushButton {"
"color: white; margin 0px;"
- "padding-left: 3px; padding-right: 3px;"
+ "padding-left: 8px; padding-right: 8px;"
"border-left: 1px solid black;"
"border-radius: 0px;"
"background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.95,"
@@ -198,7 +198,7 @@ class ControlButtonWgt(QtGui.QWidget):
self.clear_proc_cache_button.setFixedHeight(38)
self.clear_proc_cache_button.setStyleSheet("QPushButton {"
"color: white; margin 0px;"
- "padding-left: 3px; padding-right: 3px;"
+ "padding-left: 8px; padding-right: 8px;"
"border-left: 1px solid black; border-right: 1px solid black;"
"border-radius: 0px;"
"background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.95,"
diff --git a/consolegui/application/LeftMenu.py b/consolegui/application/LeftMenu.py
index 998cbf6..0679a7d 100755
--- a/consolegui/application/LeftMenu.py
+++ b/consolegui/application/LeftMenu.py
@@ -265,8 +265,8 @@ class LeftMenu(QtGui.QScrollArea):
# call function (or check parameters)
self.button_list[num_step].clicked.connect(self.calling_method \
(method_name, num_step))
- self.button_list[num_step].clicked.connect \
- (self.check_step(method_name, num_step))
+# self.button_list[num_step].clicked.connect \
+# (self.check_step(method_name, num_step))
# calculate button width
fmn = QtGui.QFontMetrics(QtGui.QFont('',-1,QtGui.QFont.Normal))
@@ -341,6 +341,7 @@ class LeftMenu(QtGui.QScrollArea):
change_step = set_step if set_step else 0
if self._parent.ClientObj.param_objects[method_name]['step'] > \
change_step:
+ self.check_step(method_name, set_step)
return
try:
self.calling.disconnect()
@@ -349,10 +350,11 @@ class LeftMenu(QtGui.QScrollArea):
self.calling.connect(self._parent.ClientObj.MainWidget.\
MainFrameWgt.calling(True, from_left_frame = True))
self.calling.emit()
+ self.check_step(method_name, set_step)
return wrapper
def check_step(self, method_name, set_step = None):
- def wrapper():
+# def wrapper():
# Call server method
if hasattr (self, 'check_step_thread'):
if self.check_step_thread.isRunning():
@@ -385,7 +387,7 @@ class LeftMenu(QtGui.QScrollArea):
view_params)
self.check_step_thread.signal.connect(self.check_step_after)
self.check_step_thread.start()
- return wrapper
+# return wrapper
def check_step_after(self, view = None):
method_name = self._parent.ClientObj.method_name
diff --git a/consolegui/application/MainFrameResult.py b/consolegui/application/MainFrameResult.py
index c0af8cd..4a24b51 100755
--- a/consolegui/application/MainFrameResult.py
+++ b/consolegui/application/MainFrameResult.py
@@ -287,9 +287,10 @@ class MainFrameRes(QtGui.QWidget):
self.task_list.append(task_widget)
self.work_layout._addWidget(task_widget)
self.initUI()
-
- def endTask(self, item):
- self.set_result_task()
+
+ def endTask(self, item, set_res = True):
+ if set_res:
+ self.set_result_task()
message = item.message if item.message else ''
lbl_temp = LabelWordWrap(message, self)
@@ -309,6 +310,10 @@ class MainFrameRes(QtGui.QWidget):
pass
def endFrame(self, item):
+ if self.progress_list:
+ self.progress_list[len(self.progress_list)-1].hide()
+ self.endTask(item)
+
self.initUI()
self.work_layout.hide_kill_button()
self.close_all_thread()
@@ -319,7 +324,8 @@ class MainFrameRes(QtGui.QWidget):
self._parent.main_frame.setWidgetResizable(True)
self._parent.control_button.show()
self._parent.control_button.add_clear_cache_button(self.cur_pid)
- return 0
+ self.initUI()
+ return 0
if hasattr (self, "mytable"):
if not self.mytable.readonly:
@@ -393,7 +399,7 @@ class MainFrameRes(QtGui.QWidget):
self.show_warning(self, mess)
except:
pass
-
+
def get_message(self, item, sid, pid):
try:
if self.cur_pid != pid:
@@ -403,7 +409,7 @@ class MainFrameRes(QtGui.QWidget):
""" get one message by its type """
for case in switch(item.type):
if case('normal'):
-
+
self.show_normal(item)
return 1
if case('progress'):
@@ -445,6 +451,7 @@ class MainFrameRes(QtGui.QWidget):
return 1
if case('endFrame'):
self.endFrame(item)
+ self.resize(self.sizeHint())
return 0
if case('startGroup'):
self.startGroup(item)
diff --git a/consolegui/application/SelectTable.py b/consolegui/application/SelectTable.py
index 4249818..c17d346 100644
--- a/consolegui/application/SelectTable.py
+++ b/consolegui/application/SelectTable.py
@@ -34,9 +34,10 @@ class Delegate(QtGui.QStyledItemDelegate):
QtGui.QStyledItemDelegate.paint(self, painter, o, index)
class SelectedTableWidget(QtGui.QTableWidget):
- def __init__(self, rows, columns, parent, readonly = False):
+ def __init__(self, rows, columns, parent, readonly = False, brief = False):
QtGui.QTableWidget.__init__(self, rows, columns, parent)
self.currHovered = -1
+ self.brief = brief
delegate = Delegate()
delegate.setView(self)
@@ -52,26 +53,31 @@ class SelectedTableWidget(QtGui.QTableWidget):
self.setFrameStyle(QtGui.QFrame.NoFrame)
self.verticalHeader().hide()
+ item_background = '#E4E1E0' if brief else 'rgba(255,255,255,255)'
+
self.horizontalHeader().setStyleSheet \
("QHeaderView {background-color: transparent;"
"border: none; }"
- 'QHeaderView::section {background-color: #ffffff;'
+ 'QHeaderView::section {background-color: %s;' \
+ %item_background + \
'border: 1px solid #B3ABA7; border-radius: 1px;}')
self.setStyleSheet("QTableWidget {"
"border: none;"
"background-color: #E4E1E0;}"
"QTableWidget::item {padding: 0px;"
"border-left: 1px solid #B3ABA7;"
- "background-color: rgba(255,255,255,255);}")
+ "background-color: %s;}" %item_background)
def setColor(self, row = -1):
+ if self.brief:
+ return
if row == -1:
for row in range (0, self.rowCount()):
for col in range (0, self.columnCount()):
item = self.item(row, col)
if not item:
continue
- item.setBackground(QtGui.QBrush(QtGui.QColor("white")))
+ item.setBackground(QtGui.QBrush(QtGui.QColor('white')))
def mousePressEvent(self, event):
if self.readonly:
diff --git a/consolegui/application/create_cert.py b/consolegui/application/create_cert.py
index 6b5456f..ac1bef8 100755
--- a/consolegui/application/create_cert.py
+++ b/consolegui/application/create_cert.py
@@ -43,6 +43,8 @@ class RequestCreate (QtGui.QWidget):
self.server_host_name = server_host_name
self.mainlayout = QtGui.QGridLayout()
+ self.mainlayout.setColumnStretch(0,2)
+ self.mainlayout.setColumnStretch(1,5)
# Add HostName field
host_name = socket.getfqdn()
list_host_name = host_name.split('.')
@@ -107,7 +109,7 @@ class RequestCreate (QtGui.QWidget):
self.setFocus()
self.move(50+parent.frameGeometry().x(), \
50+parent.frameGeometry().y())
-# self.resize(600,400)
+ self.setMinimumWidth(600)
self.show()
def create_req(self):
diff --git a/consolegui/application/helpwidget.py b/consolegui/application/helpwidget.py
index 7d502a1..570177a 100755
--- a/consolegui/application/helpwidget.py
+++ b/consolegui/application/helpwidget.py
@@ -24,6 +24,7 @@ class HelpWgt(QtGui.QWidget):
cur_year = str(datetime.date.today().year)
copy_right = "©"
+ motto = 'Easy Linux from the Source.
'
help_text = '%s v%s. \n' %(parent.ClientObj.Name, \
parent.ClientObj.Version) + \
_('Composed of Calculate Utilities 3.0.0.') + '
' + \
@@ -41,9 +42,9 @@ class HelpWgt(QtGui.QWidget):
distr_name = _('Distributive website')
distr_site = 'http://www.calculate-linux.ru'
linkLabel = LabelWordWrap(company_name + \
- ": " + \
+ ":
" + \
company_site + "
" + distr_name+ \
- ": " + \
+ ":
" + \
distr_site + "", self)
linkLabel.setContentsMargins(10,5,10,5)
@@ -82,7 +83,7 @@ class HelpWgt(QtGui.QWidget):
# self.setFixedSize(400 + x ,200)
self.setFixedSize(self.sizeHint().width() + 50, \
- self.sizeHint().height() - 30)
+ self.sizeHint().height())
self.setWindowTitle (_('Calculate Utilities'))
help_icon = QtGui.QIcon('/usr/share/pixmaps/cl-install-gui.png')
if help_icon.isNull():
diff --git a/consolegui/application/mainframe.py b/consolegui/application/mainframe.py
index de63ddb..fac6b8e 100755
--- a/consolegui/application/mainframe.py
+++ b/consolegui/application/mainframe.py
@@ -408,8 +408,6 @@ class MainFrame(QtGui.QWidget):
if not image_name:
return
-# image_name = path.join(image_path, 'install.jpg')
-# image_name = path.join(image_path, 'welcome.jpg')
self.image_lbl = ImageLabel(image_name, self)
self.common_layout.addWidget(self.image_lbl)
@@ -873,6 +871,10 @@ class MainFrame(QtGui.QWidget):
self.expert_remove(field.name))
self.view_dict[field.name].recover_but.clicked.connect( \
self.expert_add(field.name))
+# self.view_dict[field.name].Changed.connect( \
+# self.selectList_changed(False, field))
+# self.view_dict[field.name].recover_but.clicked.connect( \
+# self.selectList_changed(True, field))
if field.uncompatible:
self.view_dict[field.name].setToolTip(field.uncompatible)
@@ -883,6 +885,13 @@ class MainFrame(QtGui.QWidget):
self.error_label_dict[field.name] = ErrorLabel(self)
self.grid.addWidget(self.error_label_dict[field.name], x, y, 1, 2)
+# def selectList_changed(self, default, field):
+# def wrapper():
+# print 'field.default =', field.default
+# print 'default =', default
+# field.default = default
+# return wrapper
+
def add_element_openfile (self, field, x, y):
self.label_dict[field.name] = QLabel(field.label,self)
self.grid.addWidget(self.label_dict[field.name], x, y)
@@ -1210,7 +1219,8 @@ class MainFrame(QtGui.QWidget):
disabled_table = True if field.uncompatible or brief else False
self.table_widget = SelectedTableWidget \
- (lenBody, len(table.head.string) + 1, self, disabled_table)
+ (lenBody, len(table.head.string) + 1, self, disabled_table,\
+ brief = brief)
if None in table.head.string:
for num_item in range(len(table.head.string)):
@@ -1660,7 +1670,7 @@ class MainFrame(QtGui.QWidget):
brief_sa.setSizePolicy(exp, exp)
brief_sa.setWidgetResizable(True)
- expert_brief = ExpertWidget('View options', self)
+ expert_brief = ExpertWidget(_('View options'), self)
expert_brief.setFlat(True)
expert_brief.set_close()
expert_brief.clicked.connect(self.show_brief_widget \
@@ -1728,11 +1738,12 @@ class MainFrame(QtGui.QWidget):
elif field.element in ['combo', 'comboEdit', 'radio', 'file']:
if hasattr (field.comments, 'string') and field.value in \
field.choice.string:
- value = map(lambda x: field.comments.string[x] \
+ value = filter(None, \
+ map(lambda x: field.comments.string[x] \
if len(field.comments.string) > x \
else field.choice.string[x],
map(lambda x: field.choice.string.index(x), \
- [field.value]))
+ [field.value])))
value = ', '.join(value)
else:
value = field.value if field.value else ''
@@ -1775,11 +1786,23 @@ class MainFrame(QtGui.QWidget):
x += 1
elif field.element in ['check', 'check_tristate']:
- self.add_element_check (field, x, y, brief = True)
-# self.view_dict[field.name].setCheckable(False)
- self.view_dict[field.name].disabled = True
+ label_name = LabelWordWrap(field.label, self)
+ self.brief_grid.addWidget(label_name, x, y)
+
+ if field.value == 'on':
+ value = _('Yes')
+ elif field.value == 'off':
+ value = _('No')
+ elif field.value == 'auto':
+ value = _('Auto')
+
+ label_value = LabelWordWrap(value, self)
+ self.brief_grid.addWidget(label_value, x, y + 1)
+
+# self.add_element_check (field, x, y, brief = True)
+# self.view_dict[field.name].disabled = True
+# self.view_dict.pop(field.name)
x += 2
- self.view_dict.pop(field.name)
elif field.element == 'table' and field.type != 'steps':
field.type = None
@@ -2142,7 +2165,8 @@ class MainFrame(QtGui.QWidget):
'transmitted data is incorrect'
return wrapper
- left_call_view = QtCore.Signal()
+ left_check_step = QtCore.Signal(str, int)
+ left_check_step_after = QtCore.Signal()
def error_display(self, from_left_frame = False):
'''display error and warning in current view'''
if not self.error_output:
@@ -2196,14 +2220,14 @@ class MainFrame(QtGui.QWidget):
left_frame = self.ClientObj.MainWidget.left_frame
if from_left_frame and expert:
if left_frame.step == step_num:
- self.left_call_view.connect( \
+ self.left_check_step_after.connect( \
left_frame.check_step_after)
- self.left_call_view.emit()
+ self.left_check_step_after.emit()
if from_left_frame and left_frame.step != step_num:
- self.left_call_view.connect \
- (left_frame.check_step\
+ self.left_check_step.connect \
+ (left_frame.check_step \
(self.method_name, left_frame.step))
- self.left_call_view.emit()
+ self.left_check_step.emit()
return
if not self.error_fined:
diff --git a/consolegui/application/more.py b/consolegui/application/more.py
index f86f133..4ebb443 100755
--- a/consolegui/application/more.py
+++ b/consolegui/application/more.py
@@ -20,6 +20,8 @@ import os, time, urllib2
from calculate.core.client.function import create_obj
from calculate.lib.utils.files import readLinesFile
import Image
+import pwd
+from calculate.lib.utils.files import listDirectory
class TopMenu(QtGui.QPushButton):
def __init__(self, label, images, parent = None):
@@ -1617,6 +1619,8 @@ class PlusRow (QtGui.QWidget):
QtGui.QWidget.__init__(self)
self.grid = QtGui.QGridLayout(self)
+ self.grid.setContentsMargins(24,8,24,8)
+ self.grid.setSpacing(6)
self.field = field
self.table = table
self._parent = parent
@@ -1633,7 +1637,9 @@ class PlusRow (QtGui.QWidget):
# add element in frame
if element == 'input':
#add label
- self.grid.addWidget(QtGui.QLabel(name, self), x, y)
+ lbl = QtGui.QLabel(name, self)
+ lbl.setAlignment(QtCore.Qt.AlignRight)
+ self.grid.addWidget(lbl, x, y)
self.widget_dict[str(i)] = QtGui.QLineEdit(self)
if field.value:
@@ -1653,7 +1659,9 @@ class PlusRow (QtGui.QWidget):
x += 1
elif element in ['check', 'check_tristate']:
- self.grid.addWidget(QtGui.QLabel(name, self), x, y)
+ lbl = QtGui.QLabel(name, self)
+ lbl.setAlignment(QtCore.Qt.AlignRight)
+ self.grid.addWidget(lbl, x, y)
if element == 'check_tristate':
self.widget_dict[str(i)] = CentralCheckBox(self, True)
else:
@@ -1662,7 +1670,8 @@ class PlusRow (QtGui.QWidget):
text = self.table.item(num_row, col).text()
self.widget_dict[str(i)].setState(text)
- self.grid.addWidget(self.widget_dict[str(i)], x, y+1)
+ self.grid.addWidget(self.widget_dict[str(i)], x, y+1, \
+ QtCore.Qt.AlignLeft)
x += 1
elif element == 'combo':
@@ -1681,7 +1690,9 @@ class PlusRow (QtGui.QWidget):
values = choice
#add label
- self.grid.addWidget(QtGui.QLabel(name, self), x, y)
+ lbl = QtGui.QLabel(name, self)
+ lbl.setAlignment(QtCore.Qt.AlignRight)
+ self.grid.addWidget(lbl, x, y)
self.ComboBox = QtGui.QComboBox(self)
text = ''
if changed:
@@ -1721,7 +1732,9 @@ class PlusRow (QtGui.QWidget):
values = choice
#add label
- self.grid.addWidget(QtGui.QLabel(name, self), x, y)
+ lbl = QtGui.QLabel(name, self)
+ lbl.setAlignment(QtCore.Qt.AlignRight)
+ self.grid.addWidget(lbl, x, y)
self.ComboBox = QtGui.QComboBox(self)
self.ComboBox.setDuplicatesEnabled(False)
self.ComboBox.setEditable(True)
@@ -1776,7 +1789,9 @@ class PlusRow (QtGui.QWidget):
self.widget_dict[str(i)] = \
MultipleChoice(self, choice, def_res, comments, add_ability)
#add label
- self.grid.addWidget(QtGui.QLabel(name, self), x, y)
+ lbl = QtGui.QLabel(name, self)
+ lbl.setAlignment(QtCore.Qt.AlignRight)
+ self.grid.addWidget(lbl, x, y)
self.grid.addWidget(self.widget_dict[str(i)], x, y+1)
x += 1
@@ -1784,7 +1799,9 @@ class PlusRow (QtGui.QWidget):
if not name or name.lower() == 'password':
name = _('Password')
lbl1 = LabelWordWrap(name, self)
+ lbl1.setAlignment(QtCore.Qt.AlignRight)
lbl2 = LabelWordWrap(_('Repeat'), self)
+ lbl2.setAlignment(QtCore.Qt.AlignRight)
layout = QtGui.QVBoxLayout()
layout.setContentsMargins(0,0,0,0)
@@ -1841,15 +1858,23 @@ class PlusRow (QtGui.QWidget):
(i, values, comments, index_comment, index_values))
# add OK button
+ self.button_layout = QtGui.QHBoxLayout()
self.Ok_Button = QtGui.QPushButton('Ok', self)
+ self.Ok_Button.setFixedWidth(128)
self.Ok_Button.setShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Return))
self.Ok_Button.clicked.connect(self.ok_pressed)
- self.grid.addWidget(self.Ok_Button, x,y)
+ self.button_layout.addWidget(self.Ok_Button)
# add Cancel button
self.Cancel_Button = QtGui.QPushButton('Cancel', self)
+ self.Cancel_Button.setFixedWidth(128)
self.Cancel_Button.clicked.connect(self.close)
- self.grid.addWidget(self.Cancel_Button, x,y+1)
+ self.button_layout.addWidget(self.Cancel_Button)
+ self.button_layout.setAlignment(QtCore.Qt.AlignRight)
+ self.grid.addLayout(self.button_layout,x,y,1,2,QtCore.Qt.AlignRight)
+
+ self.grid.setColumnStretch(0,0)
+ self.grid.setColumnStretch(1,5)
self.resize(parent.width()-parent.width()/10, self.sizeHint().height())
self.setFixedHeight(self.sizeHint().height())
@@ -2111,20 +2136,50 @@ class ResultLayout(QtGui.QVBoxLayout):
self.removeWidget(self.kill_process_button)
self.kill_process_button.close()
+class LabelTaskWgt(QtGui.QLabel):
+ def __init__(self, name, parent = None):
+ QtGui.QLabel.__init__(self, name, parent)
+ self.setStyleSheet("color: #B3ABA7;")
+
+ def sizeHint(self):
+ self.br_ = QtGui.QFontMetrics(self.font()).boundingRect('')
+ return self.br_.size()
+
+ def paintEvent(self, e):
+ p = QtGui.QPainter(self)
+ fm = p.fontMetrics()
+ y = (self.sizeHint().height() - self.br_.height()) / 2 + fm.ascent()
+
+ dot_w = fm.width('. ')
+ for x in xrange (0, self.width(), dot_w):
+ p.drawText(x, y, '. ')
+
class TaskWidget(QtGui.QWidget):
def __init__(self, text = '', parent = None):
QtGui.QWidget.__init__(self)
layout = QtGui.QHBoxLayout(self)
- self.text = LabelWordWrap(text, self)
+
+ self.text = QtGui.QLabel(text, self)
+ fm = QtGui.QFontMetrics(self.text.font())
+ d_w = fm.width(text)
+ pref = QtGui.QSizePolicy.Policy.Preferred
+ self.text.setSizePolicy(pref, pref)
+ self.text.setMinimumHeight(self.text.sizeHint().height())
+ self.text.setMinimumWidth(d_w)
layout.addWidget(self.text)
layout.setContentsMargins(0,0,0,0)
- layout.setSpacing(0)
-
+ layout.setSpacing(8)
+
+ point_lbl = LabelTaskWgt('', self)
+ layout.addWidget(point_lbl)
+
self.image_lbl = QtGui.QLabel(self)
self.image_lbl.setFixedSize(16,16)
layout.addWidget(self.image_lbl)
-
+
+ layout.setStretch(0,0)
+ layout.setStretch(1,5)
self.set_status = False
def set_ok(self):
@@ -2438,7 +2493,7 @@ class ClientServiceThread(QtCore.QThread):
self.signal_extended.emit(result, self.through_object)
else:
self.signal.emit(result)
-
+
def close(self):
self.close_flag = True
@@ -2451,9 +2506,6 @@ class ImageLabel(QtGui.QLabel):
image_path, filename = image.rsplit('/',1)
image_conf = os.path.join(image_path, 'conf')
-# image_conf = filename.rsplit('.',1)[0]
-# image_conf_path = '/'.join([image_path, image_conf])
-
repeat_dict = {'no' : 'no-repeat', 'x' : 'repeat-x'}
for line in readLinesFile(image_conf):
@@ -2467,8 +2519,7 @@ class ImageLabel(QtGui.QLabel):
break
style = ''
-# if repeat.lower() == 'no':
-
+
if len(list_data) == 3:
fix_image_path = os.path.join(image_path, list_data[2])
if os.path.isfile(fix_image_path):
@@ -2500,8 +2551,6 @@ def get_view_params(client, method, step = None, expert = None, brief = None):
view_params.brief = brief
return view_params
-import pwd
-from calculate.lib.utils.files import listDirectory
def owner(pid):
UID = 1
for ln in open('/proc/%s/status' %pid):
diff --git a/consolegui/variables/console.py b/consolegui/variables/console.py
index 2f155df..a3cf2f1 100755
--- a/consolegui/variables/console.py
+++ b/consolegui/variables/console.py
@@ -20,7 +20,6 @@ from os import path
from calculate.lib.cl_lang import setLocalTranslate
setLocalTranslate('cl_gui',sys.modules[__name__])
-
class VariableClGuiData(Variable):
"""
Variable store path to data files
diff --git a/data/install/conf b/data/install/conf
new file mode 100644
index 0000000..437988c
--- /dev/null
+++ b/data/install/conf
@@ -0,0 +1,2 @@
+welcome.jpg no #E4EAE6 #FDFFFE
+finish.jpg x finish.jpg
diff --git a/data/install/finish.jpg b/data/install/finish.jpg
new file mode 100644
index 0000000..52026f8
Binary files /dev/null and b/data/install/finish.jpg differ
diff --git a/data/install/welcome.jpg b/data/install/welcome.jpg
new file mode 100644
index 0000000..1bb2d19
Binary files /dev/null and b/data/install/welcome.jpg differ
diff --git a/ru/console_gui.po b/ru/console_gui.po
index fe5c3f5..d4fb798 100755
--- a/ru/console_gui.po
+++ b/ru/console_gui.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: console_gui_translate\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-05-22 15:54+0300\n"
-"PO-Revision-Date: 2012-05-22 15:54+0300\n"
+"POT-Creation-Date: 2012-05-29 16:44+0300\n"
+"PO-Revision-Date: 2012-05-29 16:45+0300\n"
"Last-Translator: Denis \n"
"Language-Team: \n"
"Language: \n"
@@ -48,21 +48,21 @@ msgstr "При закрытии сессии данные %d процессов
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/Box.py:406
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:125
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2166
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2249
msgid "Yes"
msgstr "Да"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/Box.py:407
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:126
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2167
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2250
msgid "No"
msgstr "Нет"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/Box.py:412
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:95
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1017
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1969
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:89
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:97
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1045
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2021
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:86
msgid "Cancel"
msgstr "Отмена"
@@ -105,11 +105,11 @@ msgstr "Просмотр информации о текущей сессии"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:69
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:151
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:152
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:153
msgid "Disconnect"
msgstr "Отсоединиться"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:70
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:153
msgid "Disconnect from current server"
msgstr "Отсоединиться от текущего сервера"
@@ -119,7 +119,7 @@ msgstr "Отсоединиться от текущего сервера"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:156
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:157
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:158
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:82
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:79
msgid "Connect"
msgstr "Соединиться"
@@ -155,11 +155,6 @@ msgstr "Настройки приложения"
msgid "Help"
msgstr "Помощь"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:108
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainmenu.py:173
-msgid "About Application"
-msgstr "О приложении"
-
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/pid_information.py:57
msgid "Error get list pid from server"
msgstr "Ошибка получения списка идентификаторов процессов с сервера"
@@ -173,42 +168,42 @@ msgstr "Процесс id %d не найден"
msgid "Permission denied"
msgstr "Доступ запрещён"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:51
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:53
msgid "User@Server_HostName"
msgstr "Пользователь@Имя_сервера"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:60
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:62
msgid "User Name"
msgstr "Имя пользователя"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:65
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:67
msgid "Organization Name"
msgstr "Название организации"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:70
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:72
msgid "Network address"
msgstr "Сетевой адрес"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:75
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:77
msgid "State Name"
msgstr "Город"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:80
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:82
msgid "Country (2 words)"
msgstr "Страна (2 символа)"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:90
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:104
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:92
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:106
msgid "Create Request"
msgstr "Создать Запрос на подпись сертификата"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:115
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:117
msgid "Field \"Country\" must be two-character"
msgstr "Поле \"Страна\" должно состоять из двух символов"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:115
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/create_cert.py:117
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:133
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:219
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:220
msgid "Input Error"
msgstr "Ошибка Ввода"
@@ -267,8 +262,9 @@ msgid "It was not possible to kill process!"
msgstr "Не удалось завершить процесс!"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:120
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:51
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ControlButton.py:193
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:52
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:138
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ControlButton.py:195
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/session_function.py:147
msgid "Close"
msgstr "Закрыть"
@@ -290,100 +286,95 @@ msgid "host destination"
msgstr "хост назначения"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:274
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:344
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:343
msgid "New connection"
msgstr "Новое соединение"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:358
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:357
msgid "At closing program all connects will be close!"
msgstr "При закрытии программы все соединения будут закрыты!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:359
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ConnectionTabs.py:358
msgid "Are you sure want to close program?"
msgstr "Вы точно хотите закрыть программу?"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/LeftMenu.py:384
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/LeftMenu.py:397
msgid "At current step has mistake."
msgstr "На текущем шаге есть ошибка."
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/LeftMenu.py:385
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/LeftMenu.py:398
msgid "Do you want to continue?"
msgstr "Вы хотите продолжить?"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:29
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:30
msgid "Composed of Calculate Utilities 3.0.0."
msgstr "Входит в состав Calculate Utilities 3.0.0."
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:30
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:31
msgid "Company"
msgstr "Компания"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:39
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:40
msgid "Company website"
msgstr "Сайт Компании"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:41
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:42
msgid "Distributive website"
msgstr "Сайт Дистрибутива"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:86
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:161
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:87
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:162
msgid "Calculate Utilities"
msgstr "Calculate Utilities"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:115
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:116
msgid "Your name:"
msgstr "Ваше имя:"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:119
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:120
msgid "Your email:"
msgstr "Ваш email:"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:120
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:123
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:121
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:124
msgid "Please, enter valid email. "
msgstr "Пожалуйста, введите существующий адрес электронной почты! "
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:121
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:124
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:122
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:125
msgid "If email does not exist, letter will not reach."
msgstr "Если электронная почта не существует, то письмо не дойдет."
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:126
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:127
msgid "Subject:"
msgstr "Тема:"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:129
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:130
msgid "Message:"
msgstr "Сообщение:"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:132
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:133
msgid "Send Bug"
msgstr "Отправить ошибку"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:137
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:61
-msgid "Quit"
-msgstr "Выход"
-
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:197
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:198
msgid "Enter valid email!"
msgstr "Введите существующий адрес электронной почты!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:222
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:223
msgid "Email sent!"
msgstr "Письмо отправлено!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:226
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/helpwidget.py:227
msgid "Error sending!"
msgstr "Ошибка отправки"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ControlButton.py:93
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ControlButton.py:91
msgid "Previous"
msgstr "Назад"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ControlButton.py:116
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1963
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ControlButton.py:115
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2015
msgid "Ok"
msgstr "Ok"
@@ -391,7 +382,7 @@ msgstr "Ok"
msgid "Next"
msgstr "Далее"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ControlButton.py:214
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ControlButton.py:216
msgid "Error close process"
msgstr "Ошибка закрытия процесса"
@@ -450,11 +441,11 @@ msgstr "Время жизни сертификата истекает через
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/session_function.py:89
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:142
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:174
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:226
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:243
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:231
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:234
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:241
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:227
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:244
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:226
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:229
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:236
msgid "Not connected!"
msgstr "Соединение отсутствует!"
@@ -500,110 +491,114 @@ msgstr "Ошибка удаления кэша сессии"
msgid "Session cache is cleared"
msgstr "Кэш сессии удалён"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:125
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:146
msgid "About Program"
msgstr "О программе"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:142
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:163
msgid "System Settings Handbook"
msgstr "Руководство пользователя"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:160
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:311
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:370
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:181
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:333
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:395
msgid "Report Bug"
msgstr "Сообщить об ошибке"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:459
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:571
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:487
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:599
msgid "Open"
msgstr "Открыть"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:968
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:996
msgid "Clear Table"
msgstr "Очистить таблицу"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1069
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1208
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1274
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1386
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1097
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1236
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1302
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1415
msgid "Add row"
msgstr "Добавить строку"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1080
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1108
msgid "Recover Table"
msgstr "Восстановить таблицу"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1124
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1152
msgid "Check all"
msgstr "Отметить все"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1287
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1315
msgid "Reset changes"
msgstr "Сбросить изменения"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1758
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1951
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1800
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2003
msgid "Password"
msgstr "Пароль"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1760
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1957
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:1803
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2009
msgid "Repeat"
msgstr "Повтор"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2074
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2126
msgid "Break process"
msgstr "Прервать процесс"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2200
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2283
msgid "You do not have a certificate. Please, generate new request and get new certificate from server."
msgstr "У Вас нет сертификата. Пожалуйста, сгенерируйте запрос на сертитфикат и получите сертификат с сервера."
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2265
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2348
msgid "No methods available!"
msgstr "Нет доступных методов!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2293
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2376
msgid "No access to file!"
msgstr "Нет доступа к файлу!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2296
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2379
msgid "Failed to obtain certificate data!"
msgstr "Не удалось получить данные сертификата!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2299
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2382
#, python-format
msgid "Permission denied %s"
msgstr "Доступ запрещён %s"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2302
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2306
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2385
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2389
msgid "Sid Deleted!"
msgstr "Сессия удалена!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2309
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2392
msgid "Server delete sid error"
msgstr "Ошибка удаления сессии на сервере"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:43
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:41
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:41
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:42
msgid "Host"
msgstr "Хост"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:47
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:42
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:45
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:43
msgid "Port"
msgstr "Порт"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:53
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:51
msgid "Send"
msgstr "Отправить"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:57
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:56
msgid "Get"
msgstr "Получить"
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:61
+msgid "Quit"
+msgstr "Выход"
+
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:67
msgid "Certificate signing request"
msgstr "Запрос на подпись сертификата"
@@ -611,7 +606,7 @@ msgstr "Запрос на подпись сертификата"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:92
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:133
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:198
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:218
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:219
msgid "Enter Hostname or IP adress"
msgstr "Введите имя хоста или IP адрес"
@@ -643,13 +638,6 @@ msgstr "Номер Вашего запроса = %s\n"
msgid "Send new request?"
msgstr "Отправить навый запрос на подпись сертификата?"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:126
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:129
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:215
-#, python-format
-msgid "Error code: %s"
-msgstr "Код ошибки: %s"
-
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:127
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:130
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:215
@@ -669,7 +657,7 @@ msgid "This server can not sign certificate!"
msgstr "Сервер не подписал сертификат!"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:183
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:257
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:258
#, python-format
msgid "Your request id = %s"
msgstr "Номер Вашего запроса = %s"
@@ -679,73 +667,78 @@ msgstr "Номер Вашего запроса = %s"
msgid "request was not sent or deleted file %s"
msgstr "Запрос не был послан или удалён файл %s"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:230
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:215
+#, python-format
+msgid "Error code: %s"
+msgstr "Код ошибки: %s"
+
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:231
#, python-format
msgid "Request %s not found on client side"
msgstr "Запрос %s не найден на стороне клиента"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:253
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:254
msgid "Request to sign is rejected!"
msgstr "Запрос на подпись сертификата отвергнут!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:256
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:257
msgid "Request for the signing has not yet reviewed.\n"
msgstr "Запрос на подписание сертификата ещё не рассмотрен.\n"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:260
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:261
msgid "Request on signature does not match sent earlier."
msgstr "Запрос или подпись не соответствуют отправленным ранее."
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:266
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:267
#, python-format
msgid "OK. Certificate save. Your certificate id = %s"
msgstr "Сертификат сохранён! Номер Вашего сертификата = %s"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:316
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:317
msgid "Not found field \"CN\" in root certificate!"
msgstr "Не найдено поле \"CN\" в корневом сертификате!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:328
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:329
msgid "filename = "
msgstr "Имя файла ="
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:329
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:330
msgid "Root Certificate Add"
msgstr "Корневой сертификат добавлен"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:331
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/CertificateClass.py:332
msgid "file with ca certificates exists"
msgstr "Файл с сертификатом удостоверяющего центра создан"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:129
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:124
msgid "You are connected to server!"
msgstr "Вы подсоединены к серверу!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:130
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:125
msgid "Please break "
msgstr "Пожалуйста разорвите "
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:130
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:125
msgid "previous connection!"
msgstr "предыдущее соединение!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:131
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:126
msgid "Connection Error"
msgstr "Ошибка соединения"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:195
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:190
msgid "Enter correctly port!"
msgstr "Введите корректный порт!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:213
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:208
msgid "You already connected to localhost!"
msgstr "Вы уже подсоединены к локальному серверу!"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:231
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:226
msgid "This server is not trusted"
msgstr "Данный сервер не является доверенным"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:278
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:273
msgid "Verify Error"
msgstr "Ошибка проверки сертификата сервера"
@@ -754,36 +747,36 @@ msgid "Error clear process cache on server"
msgstr "Ошибка удаления кэша процесса на сервере"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:366
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:485
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:491
msgid "Error get frame from Server..."
msgstr "Ошибка получения фрейма с сервера."
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:367
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:441
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:486
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:492
msgid "Error get frame from Server."
msgstr "Ошибка получения фрейма с сервера."
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:368
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:442
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:484
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:487
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:493
msgid "Please, resfesh this Page later."
msgstr "Пожалуйста, обновите эту страницу позже."
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:440
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:560
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:566
msgid "Error get entire frame from Server..."
msgstr "Ошибка получения полного фрейма с сервера."
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:482
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:483
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:609
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:615
msgid "Error get progress from Server."
msgstr "Ошибка получения значения прогресса с сервера."
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/ShortFrameResult.py:627
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:788
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/MainFrameResult.py:794
msgid "Error send password to Server"
msgstr "Ошибка отправки сообщения (пароля) на сервер"
@@ -1083,31 +1076,42 @@ msgstr "Сертификат Центра Авторизации удалён и
msgid "CA certificate delete from system trusted certificate"
msgstr "Сертификат Центра Авторизации удалён из системного списка доверенных сертификатов"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:983
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:996
msgid "Press for advanced settings."
msgstr "Нажмите для дополнительных настроек"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:1066
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:1079
msgid "Clean expert parameters?"
msgstr "Очистить экспертные параметры?"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:1283
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:1296
msgid "Delete selected rows"
msgstr "Удалить выделенные строки"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:1524
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:1537
msgid "Delete row"
msgstr "Удалить строку"
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:2125
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:1674
+msgid "View options"
+msgstr "Просмотреть параметры"
+
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:1798
+msgid "Auto"
+msgstr "Авто"
+
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:2150
msgid " Step "
msgstr " Шаг "
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:2128
-#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:2132
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:2153
+#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/mainframe.py:2157
msgid "Run"
msgstr "Выполнение"
+#~ msgid "About Application"
+#~ msgstr "О приложении"
+
#~ msgid "Calculate Utilities developed company "
#~ msgstr "Calculate Utilities Разрабатываются компанией "
diff --git a/scripts/cl-console-gui b/scripts/cl-console-gui
index eba73d5..7fc637d 100755
--- a/scripts/cl-console-gui
+++ b/scripts/cl-console-gui
@@ -8,9 +8,10 @@ from calculate.consolegui.application.ConnectionTabs import ToolTabWidget, \
DBusWidget, parse, SelectedMethodWgt
from calculate.consolegui.application.more import getRunProc, owner, _print
import __builtin__
-
import dbus
import dbus.mainloop.glib
+reload(sys)
+sys.setdefaultencoding("utf-8")
def main():
__builtin__.__dict__['_print'] = _print
diff --git a/setup.py b/setup.py
index 0a241d1..3ea8d97 100755
--- a/setup.py
+++ b/setup.py
@@ -40,6 +40,9 @@ data_files.append(('/usr/share/pixmaps',['data/calculate3.png',
data_files.append(('/usr/share/applications',
['data/cl-console-gui-install.desktop',
'data/cl-console-gui.desktop']))
+data_files.append(('/usr/share/calculate/themes/install',
+ ['data/install/conf','data/install/welcome.jpg',
+ 'data/install/finish.jpg']))
var_data_files = []
@@ -79,30 +82,6 @@ class cl_console_data(install_data):
class build(distutils.command.build.build):
def run (self):
distutils.command.build.build.run(self)
-# data_file = []#("/usr/lib/python2.7/site-packages/calculate/api/images/tool.png",0755)]
-# fileNames = map(lambda x: os.path.split(x[0])[1], data_file)
-# listNames = map(lambda x: filter(lambda y: y, x[0].split("/")),
-# data_file)
-# data_find = {}
-# for i in range(len(fileNames)):
-# listNames[i].reverse()
-# data_find[fileNames[i]] =[listNames[i],data_file[i][1]]
-
-# for path in self.get_outputs():
-# nameFile = os.path.split(path)[1]
-# if nameFile in data_find.keys():
-# data = data_find[nameFile][0]
-# mode = data_find[nameFile][1]
-# flagFound = True
-# iMax = len(data)
-# pathFile = path
-# for i in range(iMax):
-# if data[i] != os.path.split(pathFile)[1]:
-# flagFound = False
-# break
-# pathFile = os.path.split(pathFile)[0]
-# if flagFound:
-# os.chmod(path, mode)
def has_po( self ) :
return len(glob.glob("ru/*.po")) > 0