v1.3.1_beta, session default path and dynamic translations, PIP #28

Merged
peri4 merged 13 commits from master into release 2020-05-26 16:30:15 +03:00
60 changed files with 2096 additions and 265 deletions

2
pip

Submodule pip updated: 51a76be487...b6ab5aa202

View File

@@ -1,7 +1,7 @@
{
\"Name\" : \"ProjectFilesystemPlugin\",
\"Version\" : \"1.0.0\",
\"CompatVersion\" : \"1.0.0\",
\"Version\" : \"1.1.0\",
\"CompatVersion\" : \"1.1.0\",
\"Vendor\" : \"Peri4\",
\"Copyright\" : \"(C) Peri4\",
\"License\" : \"LGPLv3\",

View File

@@ -29,6 +29,7 @@ QFileInfo projectfs_menu_target;
ProjectFilesystemWidget::ProjectFilesystemWidget(QWidget * parent): QWidget(parent) {
setupUi(this);
in_proc = need_rebuild = false;
int is = style()->pixelMetric(QStyle::PM_ButtonIconSize, 0, this);
label->setFixedSize(is, is);
buttonClear->setIcon(Utils::Icons::CLEAN.icon());
@@ -74,6 +75,7 @@ void ProjectFilesystemWidget::changeEvent(QEvent *e) {
void ProjectFilesystemWidget::createTree(QTreeWidgetItem * ti, const QString & dir) {
QFileInfoList fl = QDir(dir).entryInfoList(QDir::AllEntries | QDir::NoDotAndDotDot, QDir::LocaleAware | QDir::DirsFirst);
checkProcEvents();
for (QFileInfo i: fl) {
QString nit = i.fileName();
if (i.isDir()) {
@@ -163,7 +165,20 @@ void ProjectFilesystemWidget::setExtVariable() {
}
void ProjectFilesystemWidget::checkProcEvents() {
if (tm.elapsed() < 10) return;
QApplication::processEvents();
tm.start();
}
void ProjectFilesystemWidget::projectsChanged() {
if (in_proc) {
need_rebuild = true;
return;
}
in_proc = true;
tm.start();
last_expanded.clear();
item_map.clear();
int spos = tree->verticalScrollBar()->value();
@@ -192,6 +207,11 @@ void ProjectFilesystemWidget::projectsChanged() {
QApplication::restoreOverrideCursor();
qApp->processEvents();
tree->verticalScrollBar()->setValue(spos);
in_proc = false;
if (need_rebuild) {
need_rebuild = false;
projectsChanged();
}
}

View File

@@ -6,6 +6,7 @@
#include <extensionsystem/iplugin.h>
#include <QSortFilterProxyModel>
#include <QFileSystemModel>
#include <QElapsedTimer>
#include <QMenu>
extern QFileInfo projectfs_menu_target;
@@ -32,13 +33,16 @@ protected:
void rememberExpanded(QTreeWidgetItem * ti);
void restoreExpanded(QTreeWidgetItem * ti);
void setExtVariable();
void checkProcEvents();
bool in_proc, need_rebuild;
ExtensionSystem::IPlugin * proj_plug;
QMenu popup_menu;
QMap<QString, QTreeWidgetItem*> item_map;
QSet<QString> last_expanded;
FilterDialog filter_dialog;
FilterDialog::Filter cur_filter;
QElapsedTimer tm;
public slots:
void projectsChanged();

View File

@@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.0)
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
project(qad)
set(_QAD_MAJOR 1)
set(_QAD_MINOR 2)
set(_QAD_REVISION 0)
set(_QAD_MINOR 3)
set(_QAD_REVISION 1)
set(_QAD_SUFFIX beta)
set(_QAD_COMPANY SHS)
set(_QAD_DOMAIN org.SHS)
@@ -48,7 +48,10 @@ endif()
# Version
set(QAD_VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/qad_version.h")
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/qad_version.h")
file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/qad_version.h")
endif()
set(QAD_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/qad_version.h")
set_version(QAD
MAJOR "${_QAD_MAJOR}"
MINOR "${_QAD_MINOR}"

View File

@@ -154,6 +154,7 @@ void AboutWindow::changeEvent(QEvent *e) {
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
setWindowTitle(QApplication::applicationName() + " - " + tr("About"));
break;
case QEvent::FontChange:
case QEvent::Polish:

View File

@@ -31,7 +31,6 @@ action_show_all_docks(this), action_hide_all_docks(this), first_show(true) {
EMainWindow::~EMainWindow() {
if (tid > 0) killTimer(tid);
tid = 0;
saveSession();
}
@@ -72,6 +71,7 @@ void EMainWindow::showEvent(QShowEvent * e) {
void EMainWindow::closeEvent(QCloseEvent * e) {
if (!checkSave()) e->ignore();
else saveSession();
}
@@ -119,6 +119,22 @@ void EMainWindow::timerEvent(QTimerEvent * e) {
}
void EMainWindow::changeEvent(QEvent * e) {
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
action_show_all_tools.setText(tr("Show all"));
action_show_all_docks.setText(tr("Show all"));
action_hide_all_tools.setText(tr("Hide all"));
action_hide_all_docks.setText(tr("Hide all"));
action_clear_recent->setText(tr("Clear recent list"));
break;
default:
break;
}
}
QMenu * EMainWindow::createPopupMenu() {
QMenu * menuPopup = new QMenu;
QWidgetAction * wa;

View File

@@ -92,6 +92,7 @@ protected:
void closeEvent(QCloseEvent * );
bool eventFilter(QObject * o, QEvent * e);
void timerEvent(QTimerEvent * e);
void changeEvent(QEvent * e);
QMenu * createPopupMenu();
void addToRecent(const QString & path);
void prepareRecent();

View File

@@ -91,6 +91,18 @@ bool ETabWidget::eventFilter(QObject * o, QEvent * e) {
}
void ETabWidget::changeEvent(QEvent * e) {
QTabWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
retranslate();
break;
default:
break;
}
}
void ETabWidget::buttonClicked() {
QToolButton * s = qobject_cast<QToolButton * >(sender());
if (s == 0) return;

View File

@@ -49,6 +49,7 @@ private:
bool eventFilter(QObject * o, QEvent * e);
void tabInserted(int) {emit countChanged();}
void tabRemoved(int) {emit countChanged();}
void changeEvent(QEvent * e);
struct TabButton {
TabButton(int r, const QIcon & i, const QString & t) {role = r; icon = i; visible = true; srcToolTip = t; toolTip = QApplication::translate("MainWindow", t.toUtf8(), 0/*, QCoreApplication::UnicodeUTF8*/);}

View File

@@ -1,4 +1,5 @@
#include "historyview.h"
#include <QEvent>
HistoryView::HistoryView(QWidget* parent): QListWidget(parent) {
@@ -89,6 +90,18 @@ void HistoryView::checkLimit() {
}
void HistoryView::changeEvent(QEvent * e) {
QListWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
actions_[-1].text = tr("History cleared");
break;
default:
break;
}
}
void HistoryView::itemClicked(QListWidgetItem * item) {
if (!active_) return;
if (index == row(item) + 1) return;

View File

@@ -65,6 +65,7 @@ private:
};
void checkLimit();
void changeEvent(QEvent * e);
QString actionText(int action, int count_);
QMap<int, Action> actions_;

View File

@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>AboutWindow</name>
<message>
<location filename="../aboutwindow.ui" line="14"/>
<source> - About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutwindow.ui" line="41"/>
<source>Versions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutwindow.ui" line="56"/>
<source>Build</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutwindow.ui" line="71"/>
<source>Authors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutwindow.ui" line="100"/>
<source>About Qt...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutwindow.ui" line="111"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutwindow.cpp" line="33"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EMainWindow</name>
<message>
<location filename="../emainwindow.cpp" line="12"/>
<source>Clear recent list</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../emainwindow.cpp" line="15"/>
<location filename="../emainwindow.cpp" line="16"/>
<source>Show all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../emainwindow.cpp" line="17"/>
<location filename="../emainwindow.cpp" line="18"/>
<source>Hide all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../emainwindow.cpp" line="136"/>
<source>Toolbars</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../emainwindow.cpp" line="161"/>
<source>Docks</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../emainwindow.cpp" line="379"/>
<source>Select file to open</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../emainwindow.cpp" line="388"/>
<source>Select files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../emainwindow.cpp" line="398"/>
<source>Save changes%1?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../emainwindow.cpp" line="398"/>
<source> in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../emainwindow.cpp" line="411"/>
<source>Select file to save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryView</name>
<message>
<location filename="../historyview.cpp" line="16"/>
<source>History cleared</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@@ -31,7 +31,7 @@
<message>
<location filename="../aboutwindow.ui" line="111"/>
<source>OK</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../aboutwindow.cpp" line="33"/>

View File

@@ -1 +1,2 @@
lupdate ../ -ts qad_application_ru.ts
lupdate ../ -ts qad_application_en.ts

View File

@@ -49,6 +49,18 @@ void Ribbon::timerEvent(QTimerEvent * e) {
}
void Ribbon::changeEvent(QEvent * e) {
QToolBar::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
retranslate();
break;
default:
break;
}
}
void Ribbon::_resize() {
return; // WARNING
for (int i = 0; i < tab->count(); ++i) {

View File

@@ -54,6 +54,7 @@ public:
private:
bool eventFilter(QObject * o, QEvent * e);
void timerEvent(QTimerEvent * e);
void changeEvent(QEvent *e);
void _resize();
void _setIconsSize();

View File

@@ -173,6 +173,17 @@ bool BlockEditor::eventFilter(QObject *o, QEvent *e) {
}
void BlockEditor::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default: break;
}
}
void BlockEditor::on_actionRemove_items_triggered() {
QList<QGraphicsItem*> si = ui->blockView->scene()->selectedItems();
foreach (QGraphicsItem * i, si)
@@ -342,12 +353,12 @@ QWidget * PinAlignDelegate::createEditor(QWidget * parent, const QStyleOptionVie
QString PinAlignDelegate::displayText(const QVariant & value, const QLocale & locale) const {
int cv = value.toInt();
switch (cv) {
case Qt::AlignLeft: return "Left"; break;
case Qt::AlignRight: return "Right"; break;
case Qt::AlignTop: return "Top"; break;
case Qt::AlignBottom: return "Bottom"; break;
case Qt::AlignLeft: return tr("Left"); break;
case Qt::AlignRight: return tr("Right"); break;
case Qt::AlignTop: return tr("Top"); break;
case Qt::AlignBottom: return tr("Bottom"); break;
}
return "unknown";
return tr("unknown");
}

View File

@@ -71,6 +71,7 @@ private slots:
private:
bool eventFilter(QObject * o, QEvent * e);
void changeEvent(QEvent * e);
Ui::BlockEditor *ui;
QMap<int, QTreeWidgetItem*> pin_tli;

View File

@@ -225,7 +225,7 @@ bool _DTSizeItem::sceneEventFilter(QGraphicsItem * watched, QEvent * event) {
DrawTools::DrawTools(BlockView * parent): QObject(parent),
DrawTools::DrawTools(BlockView * parent): QWidget(parent),
actions_Z_up(this), actions_Z_top(this), actions_Z_down(this), actions_Z_bottom(this) {
widget_props = new QWidget();
ui = new Ui::DrawTools();
@@ -238,9 +238,6 @@ actions_Z_up(this), actions_Z_top(this), actions_Z_down(this), actions_Z_bottom(
int fh = qMax<int>(QApplication::fontMetrics().size(0, "0").height(), 22);
int thick = lineThickness();
QSize sz(fh * 2.5, fh);
QStringList styles;
styles << tr("NoPen") << tr("Solid") << tr("Dash")
<< tr("Dot") << tr("Dash-Dot") << tr("Dash-Dot-Dot");
ui->comboLineStyle->setIconSize(sz);
for (int i = 0; i < 6; i++) {
QPixmap pix(sz);
@@ -249,7 +246,7 @@ actions_Z_up(this), actions_Z_top(this), actions_Z_down(this), actions_Z_bottom(
p.setPen(QPen(Qt::black, thick, (Qt::PenStyle)i));
p.drawLine(0, pix.height() / 2, pix.width(), pix.height() / 2);
p.end();
ui->comboLineStyle->addItem(QIcon(pix), styles[i]);
ui->comboLineStyle->addItem(QIcon(pix), "");
}
#ifdef Q_OS_MACOS
setAlignCompact(true);
@@ -264,22 +261,21 @@ actions_Z_up(this), actions_Z_top(this), actions_Z_down(this), actions_Z_bottom(
new_item = cur_item = 0;
view_ = 0;
resize_enabled = true;
text_dlg.setWindowTitle(tr("Edit text"));
text_dlg.setLayout(new QBoxLayout(QBoxLayout::TopToBottom));
QDialogButtonBox * bbox = new QDialogButtonBox(QDialogButtonBox::Save | QDialogButtonBox::Cancel);
connect(bbox, SIGNAL(accepted()), &text_dlg, SLOT(accept()));
connect(bbox, SIGNAL(rejected()), &text_dlg, SLOT(reject()));
text_dlg.layout()->addWidget(&text_edit);
text_dlg.layout()->addWidget(bbox);
actions_Z_up.setText(tr("Bring\nforward")); actions_Z_up.setIcon(QIcon(":/icons/z-up.png")); actions_Z_up.setEnabled(false);
actions_Z_top.setText(tr("Bring\nto front")); actions_Z_top.setIcon(QIcon(":/icons/z-top.png")); actions_Z_top.setEnabled(false);
actions_Z_down.setText(tr("Send\nbackward")); actions_Z_down.setIcon(QIcon(":/icons/z-down.png")); actions_Z_down.setEnabled(false);
actions_Z_bottom.setText(tr("Send\nto back")); actions_Z_bottom.setIcon(QIcon(":/icons/z-bottom.png")); actions_Z_bottom.setEnabled(false);
actions_add << newAction(tr("Draw\nRectangle"), QIcon(":/icons/draw-rectangle.png"), 1)
<< newAction(tr("Draw\nEllipse"), QIcon(":/icons/draw-ellipse.png"), 2)
<< newAction(tr("Draw\nLine"), QIcon(":/icons/draw-line.png"), 4)
<< newAction(tr("Draw\nText"), QIcon(":/icons/draw-text.png"), 0)
<< newAction(tr("Draw\nImage"), QIcon(":/icons/view-preview.png"), 3);
actions_Z_up.setIcon(QIcon(":/icons/z-up.png")); actions_Z_up.setEnabled(false);
actions_Z_top.setIcon(QIcon(":/icons/z-top.png")); actions_Z_top.setEnabled(false);
actions_Z_down.setIcon(QIcon(":/icons/z-down.png")); actions_Z_down.setEnabled(false);
actions_Z_bottom.setIcon(QIcon(":/icons/z-bottom.png")); actions_Z_bottom.setEnabled(false);
actions_add << newAction(QIcon(":/icons/draw-rectangle.png"), 1)
<< newAction(QIcon(":/icons/draw-ellipse.png"), 2)
<< newAction(QIcon(":/icons/draw-line.png"), 4)
<< newAction(QIcon(":/icons/draw-text.png"), 0)
<< newAction(QIcon(":/icons/view-preview.png"), 3);
buttons_align << ui->buttonAlignTL << ui->buttonAlignTC << ui->buttonAlignTR
<< ui->buttonAlignCL << ui->buttonAlignCC << ui->buttonAlignCR
<< ui->buttonAlignBL << ui->buttonAlignBC << ui->buttonAlignBR;
@@ -321,6 +317,7 @@ actions_Z_up(this), actions_Z_top(this), actions_Z_down(this), actions_Z_bottom(
connect(&actions_Z_down, SIGNAL(triggered(bool)), this, SLOT(actionZ_triggered()));
connect(&actions_Z_bottom, SIGNAL(triggered(bool)), this, SLOT(actionZ_triggered()));
setBlockView(parent);
retranslate();
}
@@ -331,6 +328,24 @@ DrawTools::~DrawTools() {
}
void DrawTools::retranslate() {
QStringList styles;
styles << tr("NoPen") << tr("Solid") << tr("Dash")
<< tr("Dot") << tr("Dash-Dot") << tr("Dash-Dot-Dot");
for (int i = 0; i < styles.size(); i++) ui->comboLineStyle->setItemText(i, styles[i]);
text_dlg.setWindowTitle(tr("Edit text"));
actions_Z_up.setText(tr("Bring\nforward"));
actions_Z_top.setText(tr("Bring\nto front"));
actions_Z_down.setText(tr("Send\nbackward"));
actions_Z_bottom.setText(tr("Send\nto back"));
actions_add[0]->setText(tr("Draw\nRectangle"));
actions_add[1]->setText(tr("Draw\nEllipse"));
actions_add[2]->setText(tr("Draw\nLine"));
actions_add[3]->setText(tr("Draw\nText"));
actions_add[4]->setText(tr("Draw\nImage"));
}
void DrawTools::setBlockView(BlockView * v) {
if (view_) view_->viewport()->removeEventFilter(this);
disconnect(this, SLOT(selectionChanged()));
@@ -454,6 +469,18 @@ bool DrawTools::eventFilter(QObject * o, QEvent * e) {
}
void DrawTools::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
retranslate();
break;
default: break;
}
}
QComboBox * DrawTools::textEditCombo() const {
return ui->comboText;
}
@@ -468,8 +495,8 @@ void DrawTools::changeEvent(QEvent * e) {
}
*/
QAction * DrawTools::newAction(const QString & text, const QIcon & icon, int type) {
QAction * ret = new QAction(icon, text, this);
QAction * DrawTools::newAction(const QIcon & icon, int type) {
QAction * ret = new QAction(icon, QString(), this);
ret->setCheckable(true);
ret->setData(type);
return ret;
@@ -509,7 +536,7 @@ void DrawTools::alignClicked() {
}
void DrawTools::setTollButtonsEnabled(bool pen, bool brush, bool wid_hei) {
void DrawTools::setToolButtonsEnabled(bool pen, bool brush, bool wid_hei) {
ui->labelPen->setEnabled(pen);
ui->colorButtonPen->setEnabled(pen);
ui->labelBrush->setEnabled(brush);
@@ -620,7 +647,7 @@ void DrawTools::selectionChanged() {
font_dlg.blockSignals(true);
font_dlg.setCurrentFont(itext->font());
font_dlg.blockSignals(false);
setTollButtonsEnabled(true, false, false);
setToolButtonsEnabled(true, false, false);
ui->widgetAlign2->setEnabled(false);
ui->widgetAlign9->setEnabled(false);
size_item.assignObject(itext);
@@ -631,7 +658,7 @@ void DrawTools::selectionChanged() {
font_dlg.blockSignals(true);
font_dlg.setCurrentFont(iatext->font());
font_dlg.blockSignals(false);
setTollButtonsEnabled(true, false, false);
setToolButtonsEnabled(true, false, false);
foreach (QAction * a, menu_hor.actions()) a->setChecked(false);
foreach (QAction * a, menu_ver.actions()) a->setChecked(false);
align = iatext->alignment();
@@ -655,7 +682,7 @@ void DrawTools::selectionChanged() {
} else if (ipixmap) {
ui->stackedProperties->setCurrentIndex(2);
ui->spinScale->setValue(sqrt(ipixmap->transform().determinant()));
setTollButtonsEnabled(false, false, false);
setToolButtonsEnabled(false, false, false);
size_item.assignObject(ipixmap);
} else if (irect || iell) {
ui->stackedProperties->setCurrentIndex(1);
@@ -675,7 +702,7 @@ void DrawTools::selectionChanged() {
ui->colorButtonBrush->setColor(ishape->brush().color());
ui->spinThick->setValue(ishape->pen().widthF());
ui->comboLineStyle->setCurrentIndex(qMin<int>((int)ishape->pen().style(), ui->comboLineStyle->count() - 1));
setTollButtonsEnabled(true, true, true);
setToolButtonsEnabled(true, true, true);
if (resize_enabled)
size_item.assignObject(ishape);
}
@@ -684,7 +711,7 @@ void DrawTools::selectionChanged() {
ui->colorButtonPen->setColor(iline->pen().color());
ui->spinThick->setValue(iline->pen().widthF());
ui->comboLineStyle->setCurrentIndex(qMin<int>((int)iline->pen().style(), ui->comboLineStyle->count() - 1));
setTollButtonsEnabled(true, false, false);
setToolButtonsEnabled(true, false, false);
if (resize_enabled)
size_item.assignObject(iline);
} else {

View File

@@ -72,7 +72,7 @@ namespace Ui {
}
class QAD_EXPORT DrawTools: public QObject
class QAD_EXPORT DrawTools: public QWidget
{
Q_OBJECT
Q_PROPERTY(bool resizeHandlesEnabled READ isResizeHandlesEnabled WRITE setResizeHandlesEnabled)
@@ -92,9 +92,10 @@ public:
protected:
bool eventFilter(QObject * o, QEvent * e);
void changeEvent(QEvent * e);
QAction * newAction(const QString & text, const QIcon & icon, int type);
void setTollButtonsEnabled(bool pen, bool brush, bool wid_hei);
QAction * newAction(const QIcon & icon, int type);
void setToolButtonsEnabled(bool pen, bool brush, bool wid_hei);
void blockPropSignals(bool block_);
void actionAlignTrigger(bool vert, Qt::AlignmentFlag value);
void emitZAvailabe(QGraphicsItem * item = 0);
@@ -150,6 +151,8 @@ signals:
void itemEdited(QGraphicsItem * item);
void itemZChanged(QGraphicsItem * item);
private:
void retranslate();
};

View File

@@ -526,22 +526,6 @@
</property>
</widget>
</item>
<item row="0" column="2" rowspan="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="3">
<widget class="QLabel" name="labelStyle">
<property name="sizePolicy">
@@ -561,6 +545,22 @@
<item row="1" column="4">
<widget class="QComboBox" name="comboLineStyle"/>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>

View File

@@ -0,0 +1,383 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>BlockBusItem</name>
<message>
<location filename="../blockbusitem.cpp" line="499"/>
<source>Add point: Ctrl + LeftClick
Remove point\segment: Ctrl + RightClick
New branch: Shift + LeftClick
Remove connection: Shift + RightClick</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>BlockEditor</name>
<message>
<location filename="../blockeditor.ui" line="14"/>
<source>Block editor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="32"/>
<source>Block parameters</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="59"/>
<source>Width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="79"/>
<source>Heigth:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="99"/>
<source>Pins margin:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="119"/>
<source>Color:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="130"/>
<source>Pins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="179"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="184"/>
<source>Bus</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="194"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="205"/>
<source>Clone</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="232"/>
<source>Remove selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="243"/>
<source>Remove all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="346"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="353"/>
<location filename="../blockeditor.ui" line="383"/>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="376"/>
<source>Save as ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="406"/>
<source>Load ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="413"/>
<source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="433"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="450"/>
<source>Remove items</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="453"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DrawTools</name>
<message>
<location filename="../drawtools.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="51"/>
<source>Font ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="62"/>
<source>Text:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="91"/>
<location filename="../drawtools.ui" line="94"/>
<source>Edit text ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="123"/>
<location filename="../drawtools.ui" line="137"/>
<location filename="../drawtools.ui" line="230"/>
<source>Align center left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="178"/>
<source>Align center</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="204"/>
<source>Align center right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="256"/>
<source>Align top right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="282"/>
<source>Align bottom right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="308"/>
<source>Align bottom center</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="334"/>
<source>Align top left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="360"/>
<source>Align top center</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="386"/>
<source>Align bottom left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="471"/>
<source>Width: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="506"/>
<source>Thickness: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="522"/>
<source>Height:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="538"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="591"/>
<source>Load image ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="608"/>
<source>Paste image ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="641"/>
<source>Scale:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="750"/>
<source>Top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="758"/>
<location filename="../drawtools.ui" line="761"/>
<location filename="../drawtools.ui" line="780"/>
<location filename="../drawtools.ui" line="783"/>
<source>Center</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="769"/>
<location filename="../drawtools.ui" line="772"/>
<source>Bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="791"/>
<location filename="../drawtools.ui" line="794"/>
<source>Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.ui" line="802"/>
<location filename="../drawtools.ui" line="805"/>
<source>Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="333"/>
<source>NoPen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="333"/>
<source>Solid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="333"/>
<source>Dash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="334"/>
<source>Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="334"/>
<source>Dash-Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="334"/>
<source>Dash-Dot-Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="336"/>
<source>Edit text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="337"/>
<source>Bring
forward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="338"/>
<source>Bring
to front</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="339"/>
<source>Send
backward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="340"/>
<source>Send
to back</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="341"/>
<source>Draw
Rectangle</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="342"/>
<source>Draw
Ellipse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="343"/>
<source>Draw
Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="344"/>
<source>Draw
Text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="345"/>
<source>Draw
Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../drawtools.cpp" line="824"/>
<source>Select image</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PinAlignDelegate</name>
<message>
<location filename="../blockeditor.cpp" line="356"/>
<source>Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.cpp" line="357"/>
<source>Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.cpp" line="358"/>
<source>Top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.cpp" line="359"/>
<source>Bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../blockeditor.cpp" line="361"/>
<source>unknown</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@@ -20,7 +20,7 @@ Remove connection: Shift + RightClick</source>
<message>
<location filename="../blockeditor.ui" line="14"/>
<source>Block editor</source>
<translation type="unfinished"></translation>
<translation>Редактор блока</translation>
</message>
<message>
<location filename="../blockeditor.ui" line="32"/>
@@ -91,7 +91,7 @@ Remove connection: Shift + RightClick</source>
<location filename="../blockeditor.ui" line="353"/>
<location filename="../blockeditor.ui" line="383"/>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="376"/>
@@ -106,7 +106,7 @@ Remove connection: Shift + RightClick</source>
<message>
<location filename="../blockeditor.ui" line="413"/>
<source>Ctrl+O</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../blockeditor.ui" line="433"/>
@@ -121,7 +121,7 @@ Remove connection: Shift + RightClick</source>
<message>
<location filename="../blockeditor.ui" line="453"/>
<source>Del</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@@ -214,7 +214,7 @@ Remove connection: Shift + RightClick</source>
<translation>Высота:</translation>
</message>
<message>
<location filename="../drawtools.ui" line="554"/>
<location filename="../drawtools.ui" line="538"/>
<source>Style:</source>
<translation>Стиль:</translation>
</message>
@@ -226,7 +226,7 @@ Remove connection: Shift + RightClick</source>
<message>
<location filename="../drawtools.ui" line="608"/>
<source>Paste image ...</source>
<translation type="unfinished"></translation>
<translation>Вставить картинку ...</translation>
</message>
<message>
<location filename="../drawtools.ui" line="641"/>
@@ -265,107 +265,135 @@ Remove connection: Shift + RightClick</source>
<translation>Право</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="242"/>
<location filename="../drawtools.cpp" line="333"/>
<source>NoPen</source>
<translation>НетЛинии</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="242"/>
<location filename="../drawtools.cpp" line="333"/>
<source>Solid</source>
<translation>Сплошная</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="242"/>
<location filename="../drawtools.cpp" line="333"/>
<source>Dash</source>
<translation>Штриховая</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="243"/>
<location filename="../drawtools.cpp" line="334"/>
<source>Dot</source>
<translation>Пунктирная</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="243"/>
<location filename="../drawtools.cpp" line="334"/>
<source>Dash-Dot</source>
<translation>ШтрихПунктирная</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="243"/>
<location filename="../drawtools.cpp" line="334"/>
<source>Dash-Dot-Dot</source>
<translation>ШтрихПунктирПунктирная</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="267"/>
<location filename="../drawtools.cpp" line="336"/>
<source>Edit text</source>
<translation>Редактировать текст</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="274"/>
<location filename="../drawtools.cpp" line="337"/>
<source>Bring
forward</source>
<translation>Переместить
выше</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="275"/>
<location filename="../drawtools.cpp" line="338"/>
<source>Bring
to front</source>
<translation>На передний
фон</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="276"/>
<location filename="../drawtools.cpp" line="339"/>
<source>Send
backward</source>
<translation>Переместить
ниже</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="277"/>
<location filename="../drawtools.cpp" line="340"/>
<source>Send
to back</source>
<translation>На задний
фон</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="278"/>
<location filename="../drawtools.cpp" line="341"/>
<source>Draw
Rectangle</source>
<translation>Нарисовать
прямоугольник</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="279"/>
<location filename="../drawtools.cpp" line="342"/>
<source>Draw
Ellipse</source>
<translation>Нарисовать
эллипс</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="280"/>
<location filename="../drawtools.cpp" line="343"/>
<source>Draw
Line</source>
<translation>Нарисовать
линию</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="281"/>
<location filename="../drawtools.cpp" line="344"/>
<source>Draw
Text</source>
<translation>Нарисовать
текст</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="282"/>
<location filename="../drawtools.cpp" line="345"/>
<source>Draw
Image</source>
<translation>Нарисовать
картинку</translation>
</message>
<message>
<location filename="../drawtools.cpp" line="810"/>
<location filename="../drawtools.cpp" line="824"/>
<source>Select image</source>
<translation>Выбрать картинку</translation>
</message>
</context>
<context>
<name>PinAlignDelegate</name>
<message>
<location filename="../blockeditor.cpp" line="356"/>
<source>Left</source>
<translation>Лево</translation>
</message>
<message>
<location filename="../blockeditor.cpp" line="357"/>
<source>Right</source>
<translation>Право</translation>
</message>
<message>
<location filename="../blockeditor.cpp" line="358"/>
<source>Top</source>
<translation>Верх</translation>
</message>
<message>
<location filename="../blockeditor.cpp" line="359"/>
<source>Bottom</source>
<translation>Низ</translation>
</message>
<message>
<location filename="../blockeditor.cpp" line="361"/>
<source>unknown</source>
<translation>неизвестно</translation>
</message>
</context>
</TS>

View File

@@ -1 +1,2 @@
lupdate ../ -ts qad_blockview_ru.ts
lupdate ../ -ts qad_blockview_en.ts

View File

@@ -140,11 +140,11 @@ Graphic::~Graphic() {
void Graphic::changeEvent(QEvent * e) {
QFrame::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
ui->retranslateUi(this);
return;
}
QFrame::changeEvent(e);
}

View File

@@ -29,11 +29,11 @@ GraphicConf::GraphicConf(QVector<GraphicType> & graphics_, QWidget * parent): QD
void GraphicConf::changeEvent(QEvent * e) {
QDialog::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
ui->retranslateUi(this);
return;
}
QDialog::changeEvent(e);
}

View File

@@ -0,0 +1,387 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>Graphic</name>
<message>
<location filename="../graphic.ui" line="53"/>
<source>Autofit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="64"/>
<source>Grid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="81"/>
<source>Cursor axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="95"/>
<source>Only expand Y</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="109"/>
<source>Only expand X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="123"/>
<source>Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="134"/>
<source>Border inputs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="151"/>
<source>Legend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="168"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="182"/>
<source>Configure ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="193"/>
<source>Save image ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="220"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="231"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.ui" line="396"/>
<source>Cursor: ( ; )</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.cpp" line="387"/>
<location filename="../graphic.cpp" line="1231"/>
<source>Cursor: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.cpp" line="402"/>
<source>Selection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.cpp" line="403"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.cpp" line="407"/>
<location filename="../graphic.cpp" line="413"/>
<source>Range</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.cpp" line="408"/>
<location filename="../graphic.cpp" line="414"/>
<source>Length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.cpp" line="525"/>
<location filename="../graphic.cpp" line="566"/>
<source>Cursor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.cpp" line="814"/>
<source>Save Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.cpp" line="865"/>
<source>y(x)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic.cpp" line="1678"/>
<source>Check all</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GraphicConf</name>
<message>
<location filename="../graphic_conf.ui" line="17"/>
<source>Graphic parameters</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="26"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="34"/>
<source>Border inputs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="41"/>
<source>Antialiasing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="48"/>
<source>Status bar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="55"/>
<source>OpenGL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="62"/>
<source>Legend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="82"/>
<source>Background color:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="102"/>
<source>Text color:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="121"/>
<source>Graphics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="140"/>
<location filename="../graphic_conf.ui" line="236"/>
<source>Color:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="154"/>
<location filename="../graphic_conf.ui" line="250"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="164"/>
<source>Lines width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="184"/>
<source>Points width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="207"/>
<source>Fill:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="227"/>
<source>Grid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="260"/>
<source>Width:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="274"/>
<source>Step X:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="281"/>
<source>Step Y:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="288"/>
<source>Auto X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="298"/>
<source>Auto Y</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="308"/>
<location filename="../graphic_conf.ui" line="311"/>
<source>30</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="321"/>
<location filename="../graphic_conf.ui" line="324"/>
<source>50</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="357"/>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="363"/>
<location filename="../graphic_conf.ui" line="373"/>
<location filename="../graphic_conf.ui" line="393"/>
<location filename="../graphic_conf.ui" line="433"/>
<location filename="../graphic_conf.ui" line="453"/>
<source> px</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="383"/>
<source>All:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="403"/>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="413"/>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="423"/>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="443"/>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.cpp" line="13"/>
<source>NoPen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.cpp" line="13"/>
<source>Solid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.cpp" line="13"/>
<source>Dash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.cpp" line="14"/>
<source>Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.cpp" line="14"/>
<source>Dash-Dot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphic_conf.cpp" line="14"/>
<source>Dash-Dot-Dot</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="14"/>
<source>QPICalculator</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="29"/>
<source>Calculator</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="60"/>
<source>Expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="65"/>
<source>Result</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="76"/>
<source>Correct</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="83"/>
<location filename="../qpicalculator/mainwindow.ui" line="100"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="111"/>
<source>Variables</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="139"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="144"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="169"/>
<location filename="../qpicalculator/mainwindow.ui" line="290"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="219"/>
<source>Graphics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="260"/>
<source>On</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="265"/>
<source>Function</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@@ -236,13 +236,13 @@
<location filename="../graphic_conf.ui" line="308"/>
<location filename="../graphic_conf.ui" line="311"/>
<source>30</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../graphic_conf.ui" line="321"/>
<location filename="../graphic_conf.ui" line="324"/>
<source>50</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>Auto step</source>
@@ -323,7 +323,7 @@
<message>
<location filename="../qpicalculator/mainwindow.ui" line="14"/>
<source>QPICalculator</source>
<translation type="unfinished"></translation>
<translation>Калькулятор</translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="29"/>
@@ -349,7 +349,7 @@
<location filename="../qpicalculator/mainwindow.ui" line="83"/>
<location filename="../qpicalculator/mainwindow.ui" line="100"/>
<source>0</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="111"/>
@@ -370,7 +370,7 @@
<location filename="../qpicalculator/mainwindow.ui" line="169"/>
<location filename="../qpicalculator/mainwindow.ui" line="290"/>
<source>Del</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../qpicalculator/mainwindow.ui" line="219"/>

View File

@@ -1 +1,2 @@
lupdate ../ -ts qad_graphic_ru.ts
lupdate ../ -ts qad_graphic_en.ts

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>SQLTableWidget</name>
<message>
<location filename="../sql_table_widget.ui" line="14"/>
<source>SQLTableWidget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sql_table_widget.ui" line="51"/>
<source>Table doesn`t exists!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sql_table_widget.ui" line="182"/>
<source>Add record</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sql_table_widget.ui" line="295"/>
<source>Configure filters</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sql_table_widget.ui" line="339"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sql_table_widget.ui" line="347"/>
<location filename="../sql_table_widget.ui" line="350"/>
<source>Operator AND</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sql_table_widget.ui" line="358"/>
<location filename="../sql_table_widget.ui" line="361"/>
<source>Operator OR</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sql_table_widget.cpp" line="358"/>
<source>Remove selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sql_table_widget.cpp" line="447"/>
<source>Table &quot;%1&quot; doesn`t exists!</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@@ -1 +1,2 @@
lupdate ../ -ts qad_sql_table_ru.ts
lupdate ../ -ts qad_sql_table_en.ts

View File

@@ -443,6 +443,19 @@ void SQLTableWidget::timerEvent(QTimerEvent * ) {
}
void SQLTableWidget::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
action_del->setText(tr("Remove selected"));
break;
default:
break;
}
}
void SQLTableWidget::setTableName(const QString & t) {
ui->labelEmpty->setText(tr("Table \"%1\" doesn`t exists!").arg(t));
stopTimer();

View File

@@ -282,6 +282,7 @@ private:
bool eventFilter(QObject * o, QEvent * e);
void timerEvent(QTimerEvent * );
void changeEvent(QEvent * e);
void stopTimer() {if (timer != 0) killTimer(timer); timer = 0;}
bool checkTable();
QStringList getTableColumns(const QString & t);

View File

@@ -14,6 +14,15 @@
#endif
class __QADTranslators__ {
public:
static QList<QTranslator * > translators;
private:
};
QList<QTranslator * > __QADTranslators__::translators = QList<QTranslator * >();
QString QAD::userPath(QAD::LocationType loc, QString name) {
QString dir, ext;
switch (loc) {
@@ -58,6 +67,11 @@ QStringList QAD::resourcePaths(QString type) {
void QAD::loadTranslations(QString lang) {
foreach (QTranslator * t, __QADTranslators__::translators) {
qApp->removeTranslator(t);
delete t;
}
__QADTranslators__::translators.clear();
if (lang.isEmpty())
lang = QLocale().bcp47Name();
QString short_lang = lang.left(2);
@@ -72,6 +86,7 @@ void QAD::loadTranslations(QString lang) {
QTranslator * tr = new QTranslator();
if (tr->load(dit.filePath())) {
qApp->installTranslator(tr);
__QADTranslators__::translators << tr;
qDebug() << "Add tr" << dit.fileName();
} else {
qDebug() << "Can`t load translation" << dit.fileName();
@@ -107,10 +122,10 @@ QStringList QAD::availableTranslations() {
if (loc.language() != QLocale::C)
ret << lang[i];
}
//qDebug() << "Can`t load translation" << dit.fileName();
delete tr;
}
delete tr;
}
}
return ret.values();
}

View File

@@ -243,6 +243,7 @@ QPIConfig::QPIConfig(const QString & path, QIODevice::OpenMode mode, QPIConfig::
type = type_;
if (!path.isEmpty()) {
open(mode);
incdirs << QFileInfo(path).absoluteDir().path();
parse();
}
}
@@ -253,6 +254,7 @@ QPIConfig::QPIConfig(const QString & path, QIODevice::OpenMode mode): QFile(path
type = Config;
if (!path.isEmpty()) {
open(mode);
incdirs << QFileInfo(path).absoluteDir().path();
parse();
}
}
@@ -263,6 +265,7 @@ QPIConfig::QPIConfig(const QString & path, QPIConfig::FileType type_): QFile(pat
type = type_;
if (!path.isEmpty()) {
open(QIODevice::ReadWrite);
incdirs << QFileInfo(path).absoluteDir().path();
parse();
}
}
@@ -748,9 +751,9 @@ void QPIConfig::parse(QString content) {
root.clear();
QString src, str, tab, comm, all, name, type, prefix, tprefix;
QStringList tree;
Entry * entry, * te, * ce;
Entry * entry = 0, * te = 0, * ce = 0;
int ind, sind;
bool isNew, isPrefix;
bool isNew = false, isPrefix = false, wasMultiline = false, isMultiline = false;
foreach (QPIConfig * c, inc_devs)
delete c;
inc_devs.clear();
@@ -781,22 +784,43 @@ void QPIConfig::parse(QString content) {
tab = str.left(str.indexOf(str.trimmed().left(1)));
str = str.trimmed();
all = str;
sind = str.indexOf('#');
if (sind > 0) {
comm = str.mid(sind + 1).trimmed();
if (comm.length() > 0) {
type = comm[0];
comm = comm.mid(1).trimmed();
} else type = "s";
str = str.left(sind).trimmed();
} else {
type = "s";
comm = "";
}
if (str.endsWith(" \\")) {
isMultiline = true;
str.chop(2);
str = str.trimmed();
} else
isMultiline = false;
if (wasMultiline) {
wasMultiline = false;
if (ce) {
ce->_value += str;
ce->_all += " \\\n" + all;
}
str.clear();
} else
ce = 0;
wasMultiline = isMultiline;
ind = str.indexOf('=');
if ((ind > 0) && !(str[0] == '#')) {
sind = str.indexOf('#');
if (sind > 0) {
comm = str.right(str.length() - sind - 1).trimmed();
if (comm.length() > 0) type = comm[0];
else type = "s";
comm = comm.right(comm.length() - 1).trimmed();
str = str.left(sind);
} else {
type = "s";
comm = "";
}
tree = (prefix + str.left(ind).trimmed()).split(delim);
if (tree.front() == "include") {
name = str.right(str.length() - ind - 1).trimmed();
name = str.mid(ind + 1).trimmed();
QPIConfig * iconf = new QPIConfig(name, incdirs);
if (!iconf->dev) {
delete iconf;
@@ -832,7 +856,7 @@ void QPIConfig::parse(QString content) {
ce->delim = delim;
ce->_tab = tab;
ce->_name = name;
ce->_value = str.right(str.length() - ind - 1).trimmed();
ce->_value = str.mid(ind + 1).trimmed();
ce->_type = type;
ce->_comment = comm;
ce->_line = lines;

View File

@@ -48,6 +48,7 @@ void CharDialog::setCharFont(const QFont & f) {
void CharDialog::changeEvent(QEvent * e) {
QDialog::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
ui->retranslateUi(this);
QStringList cat;
@@ -65,7 +66,6 @@ void CharDialog::changeEvent(QEvent * e) {
ui->comboCategory->setCurrentIndex(pi);
return;
}
QDialog::changeEvent(e);
}

View File

@@ -40,11 +40,11 @@ void CLineEdit::resizeEvent(QResizeEvent * e) {
void CLineEdit::changeEvent(QEvent * e) {
QLineEdit::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
cw->setToolTip(tr("Clear"));
return;
}
QLineEdit::changeEvent(e);
}

View File

@@ -17,10 +17,10 @@ ColorButton::ColorButton(QWidget * parent): QPushButton(parent) {
label->setFrameStyle(QFrame::Panel | QFrame::Sunken);
label->show();
pal = label->palette();
menu.addAction(QIcon(":/icons/edit-copy.png"), tr("Copy"), this, SLOT(copy()));
menu.addAction(QIcon(":/icons/edit-paste.png"), tr("Paste"), this, SLOT(paste()));
a_copy = menu.addAction(QIcon(":/icons/edit-copy.png"), tr("Copy"), this, SLOT(copy()));
a_paste = menu.addAction(QIcon(":/icons/edit-paste.png"), tr("Paste"), this, SLOT(paste()));
menu.addSeparator();
menu.addAction(tr("Mix with clipboard"), this, SLOT(mix()));
a_mix = menu.addAction(tr("Mix with clipboard"), this, SLOT(mix()));
setAcceptDrops(true);
connect(this, SIGNAL(clicked(bool)), this, SLOT(clicked()));
}
@@ -86,6 +86,20 @@ void ColorButton::dropEvent(QDropEvent * e) {
}
void ColorButton::changeEvent(QEvent * e) {
QPushButton::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
a_copy->setText(tr("Copy"));
a_paste->setText(tr("Paste"));
a_mix->setText(tr("Mix with clipboard"));
break;
default:
break;
}
}
void ColorButton::clicked() {
QColor ret = QColorDialog::getColor(color(), this, tr("Choose color"), options);
if (!ret.isValid()) return;

View File

@@ -60,9 +60,11 @@ private:
void resizeEvent(QResizeEvent * );
void dragEnterEvent(QDragEnterEvent * e);
void dropEvent(QDropEvent * e);
void changeEvent(QEvent *e);
QFrame * label;
QWidget * back;
QAction * a_copy, * a_paste, * a_mix;
QPalette pal;
QPoint pp;
QMenu menu;

View File

@@ -72,6 +72,20 @@ void EComboBox::showPopup() {
}
void EComboBox::changeEvent(QEvent * e) {
QComboBox::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
#if QT_VERSION >= 0x040700
filter.setPlaceholderText(tr("Filter"));
#endif
break;
default:
break;
}
}
void EComboBox::filterChanged(const QString & text, bool first) {
if (filter.text().isEmpty()) filter.setFont(ifont);
else filter.setFont(nfont);

View File

@@ -39,6 +39,8 @@ public slots:
virtual void showPopup();
private:
void changeEvent(QEvent *e);
QTreeView iv;
QWidget header;
QLabel icon;

View File

@@ -88,11 +88,11 @@ void EvalSpinBox::resizeEvent(QResizeEvent * e) {
void EvalSpinBox::changeEvent(QEvent * e) {
QAbstractSpinBox::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
cw->setToolTip(tr("Clear"));
return;
}
QAbstractSpinBox::changeEvent(e);
}

View File

@@ -0,0 +1,677 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>CLineEdit</name>
<message>
<location filename="../clineedit.cpp" line="9"/>
<location filename="../clineedit.cpp" line="45"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CharDialog</name>
<message>
<location filename="../chardialog.ui" line="14"/>
<source>Choose symbol</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="23"/>
<location filename="../chardialog.cpp" line="55"/>
<source>No Category</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="23"/>
<location filename="../chardialog.cpp" line="55"/>
<source>Mark NonSpacing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="23"/>
<location filename="../chardialog.cpp" line="55"/>
<source>Mark SpacingCombining</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="23"/>
<location filename="../chardialog.cpp" line="55"/>
<source>Mark Enclosing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="24"/>
<location filename="../chardialog.cpp" line="56"/>
<source>Number DecimalDigit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="24"/>
<location filename="../chardialog.cpp" line="56"/>
<source>Number Letter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="24"/>
<location filename="../chardialog.cpp" line="56"/>
<source>Number Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="24"/>
<location filename="../chardialog.cpp" line="56"/>
<source>Separator Space</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="25"/>
<location filename="../chardialog.cpp" line="57"/>
<source>Separator Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="25"/>
<location filename="../chardialog.cpp" line="57"/>
<source>Separator Paragraph</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="25"/>
<location filename="../chardialog.cpp" line="57"/>
<source>Other Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="25"/>
<location filename="../chardialog.cpp" line="57"/>
<source>Other Format</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="26"/>
<location filename="../chardialog.cpp" line="58"/>
<source>Other Surrogate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="26"/>
<location filename="../chardialog.cpp" line="58"/>
<source>Other PrivateUse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="26"/>
<location filename="../chardialog.cpp" line="58"/>
<source>Other NotAssigned</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="26"/>
<location filename="../chardialog.cpp" line="58"/>
<source>Letter Uppercase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="27"/>
<location filename="../chardialog.cpp" line="59"/>
<source>Letter Lowercase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="27"/>
<location filename="../chardialog.cpp" line="59"/>
<source>Letter Titlecase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="27"/>
<location filename="../chardialog.cpp" line="59"/>
<source>Letter Modifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="27"/>
<location filename="../chardialog.cpp" line="59"/>
<source>Letter Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="28"/>
<location filename="../chardialog.cpp" line="60"/>
<source>Punctuation Connector</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="28"/>
<location filename="../chardialog.cpp" line="60"/>
<source>Punctuation Dash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="28"/>
<location filename="../chardialog.cpp" line="60"/>
<source>Punctuation Open</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="28"/>
<location filename="../chardialog.cpp" line="60"/>
<source>Punctuation Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="29"/>
<location filename="../chardialog.cpp" line="61"/>
<source>Punctuation InitialQuote</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="29"/>
<location filename="../chardialog.cpp" line="61"/>
<source>Punctuation FinalQuote</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="29"/>
<location filename="../chardialog.cpp" line="61"/>
<source>Punctuation Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="29"/>
<location filename="../chardialog.cpp" line="61"/>
<source>Symbol Math</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="30"/>
<location filename="../chardialog.cpp" line="62"/>
<source>Symbol Currency</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="30"/>
<location filename="../chardialog.cpp" line="62"/>
<source>Symbol Modifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="30"/>
<location filename="../chardialog.cpp" line="62"/>
<source>Symbol Other</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ColorButton</name>
<message>
<location filename="../colorbutton.cpp" line="20"/>
<location filename="../colorbutton.cpp" line="93"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../colorbutton.cpp" line="21"/>
<location filename="../colorbutton.cpp" line="94"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../colorbutton.cpp" line="23"/>
<location filename="../colorbutton.cpp" line="95"/>
<source>Mix with clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../colorbutton.cpp" line="104"/>
<source>Choose color</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EComboBox</name>
<message>
<location filename="../ecombobox.cpp" line="44"/>
<location filename="../ecombobox.cpp" line="80"/>
<source>Filter</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EvalSpinBox</name>
<message>
<location filename="../evalspinbox.cpp" line="28"/>
<location filename="../evalspinbox.cpp" line="93"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MatrixEdit</name>
<message>
<location filename="../matrixedit.ui" line="33"/>
<source>Cols:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../matrixedit.ui" line="47"/>
<source>Rows:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../matrixedit.ui" line="76"/>
<source>Null</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../matrixedit.ui" line="79"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../matrixedit.ui" line="86"/>
<source>Identity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../matrixedit.ui" line="89"/>
<source>I</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PathEdit</name>
<message>
<location filename="../qvariantedit.cpp" line="105"/>
<source>All files(*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qvariantedit.cpp" line="112"/>
<location filename="../qvariantedit.cpp" line="125"/>
<source>Choose</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qvariantedit.cpp" line="139"/>
<source>Select directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qvariantedit.cpp" line="140"/>
<source>Select file</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QCodeEdit</name>
<message>
<location filename="../qcodeedit.ui" line="122"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="140"/>
<source>Case sensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="143"/>
<source>Aa</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="159"/>
<source>Whole words</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="162"/>
<source>W</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="178"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="195"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="208"/>
<source>Replace:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="226"/>
<source>Replace</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="229"/>
<source>R</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="242"/>
<source>Replace and search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="245"/>
<source>Rs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="258"/>
<source>Replace all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="261"/>
<source>Ra</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qcodeedit.cpp" line="53"/>
<location filename="../qcodeedit.cpp" line="570"/>
<source>Press F1 for details</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QPIConfigNewDialog</name>
<message>
<location filename="../qpiconfignewdialog.ui" line="20"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="26"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="32"/>
<source>string</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="38"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="45"/>
<source>integer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="48"/>
<source>n</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="55"/>
<source>float</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="58"/>
<source>f</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="65"/>
<source>string list</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="68"/>
<source>l</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="75"/>
<source>boolean</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="78"/>
<source>b</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="85"/>
<source>color</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="88"/>
<source>c</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="95"/>
<source>rectangle</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="98"/>
<source>r</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="105"/>
<source>area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="108"/>
<source>a</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="115"/>
<source>point</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="118"/>
<source>p</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="125"/>
<source>vector</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="128"/>
<source>v</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="135"/>
<source>ip</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="138"/>
<source>i</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="148"/>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="181"/>
<source>Comment:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="191"/>
<source>Value:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QPIConfigWidget</name>
<message>
<location filename="../qpiconfigwidget.cpp" line="339"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="339"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="339"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="339"/>
<source>Comment</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="354"/>
<source>Add item ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="355"/>
<source>Add node ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="356"/>
<source>Convert to item</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="357"/>
<source>Convert to node</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="358"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="359"/>
<source>Expand all</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="360"/>
<source>Collapse all</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QPointEdit</name>
<message>
<location filename="../qpointedit.cpp" line="12"/>
<location filename="../qpointedit.cpp" line="30"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpointedit.cpp" line="13"/>
<location filename="../qpointedit.cpp" line="31"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QRectEdit</name>
<message>
<location filename="../qrectedit.cpp" line="18"/>
<location filename="../qrectedit.cpp" line="50"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qrectedit.cpp" line="19"/>
<location filename="../qrectedit.cpp" line="51"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qrectedit.cpp" line="20"/>
<location filename="../qrectedit.cpp" line="52"/>
<source>Height</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qrectedit.cpp" line="21"/>
<location filename="../qrectedit.cpp" line="53"/>
<source>Width</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QVariantEdit</name>
<message>
<location filename="../qvariantedit.cpp" line="186"/>
<source>Invalid value</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScrollSpinBox</name>
<message>
<location filename="../scroll_spin_box.ui" line="51"/>
<source>Grab and scroll</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Shortcuts</name>
<message>
<location filename="../shortcuts.cpp" line="38"/>
<location filename="../shortcuts.cpp" line="55"/>
<source>Command</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../shortcuts.cpp" line="38"/>
<location filename="../shortcuts.cpp" line="55"/>
<source>Shortcut</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>StringListEdit</name>
<message>
<location filename="../qvariantedit.cpp" line="67"/>
<location filename="../qvariantedit.cpp" line="86"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qvariantedit.cpp" line="68"/>
<location filename="../qvariantedit.cpp" line="87"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qvariantedit.cpp" line="69"/>
<location filename="../qvariantedit.cpp" line="88"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@@ -5,7 +5,7 @@
<name>CLineEdit</name>
<message>
<location filename="../clineedit.cpp" line="9"/>
<location filename="../clineedit.cpp" line="44"/>
<location filename="../clineedit.cpp" line="45"/>
<source>Clear</source>
<translation>Сбросить</translation>
</message>
@@ -19,187 +19,187 @@
</message>
<message>
<location filename="../chardialog.cpp" line="23"/>
<location filename="../chardialog.cpp" line="54"/>
<location filename="../chardialog.cpp" line="55"/>
<source>No Category</source>
<translation>Вне категории</translation>
</message>
<message>
<location filename="../chardialog.cpp" line="23"/>
<location filename="../chardialog.cpp" line="54"/>
<location filename="../chardialog.cpp" line="55"/>
<source>Mark NonSpacing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="23"/>
<location filename="../chardialog.cpp" line="54"/>
<location filename="../chardialog.cpp" line="55"/>
<source>Mark SpacingCombining</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="23"/>
<location filename="../chardialog.cpp" line="54"/>
<location filename="../chardialog.cpp" line="55"/>
<source>Mark Enclosing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="24"/>
<location filename="../chardialog.cpp" line="55"/>
<location filename="../chardialog.cpp" line="56"/>
<source>Number DecimalDigit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="24"/>
<location filename="../chardialog.cpp" line="55"/>
<location filename="../chardialog.cpp" line="56"/>
<source>Number Letter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="24"/>
<location filename="../chardialog.cpp" line="55"/>
<location filename="../chardialog.cpp" line="56"/>
<source>Number Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="24"/>
<location filename="../chardialog.cpp" line="55"/>
<location filename="../chardialog.cpp" line="56"/>
<source>Separator Space</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="25"/>
<location filename="../chardialog.cpp" line="56"/>
<location filename="../chardialog.cpp" line="57"/>
<source>Separator Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="25"/>
<location filename="../chardialog.cpp" line="56"/>
<location filename="../chardialog.cpp" line="57"/>
<source>Separator Paragraph</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="25"/>
<location filename="../chardialog.cpp" line="56"/>
<location filename="../chardialog.cpp" line="57"/>
<source>Other Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="25"/>
<location filename="../chardialog.cpp" line="56"/>
<location filename="../chardialog.cpp" line="57"/>
<source>Other Format</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="26"/>
<location filename="../chardialog.cpp" line="57"/>
<location filename="../chardialog.cpp" line="58"/>
<source>Other Surrogate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="26"/>
<location filename="../chardialog.cpp" line="57"/>
<location filename="../chardialog.cpp" line="58"/>
<source>Other PrivateUse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="26"/>
<location filename="../chardialog.cpp" line="57"/>
<location filename="../chardialog.cpp" line="58"/>
<source>Other NotAssigned</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="26"/>
<location filename="../chardialog.cpp" line="57"/>
<location filename="../chardialog.cpp" line="58"/>
<source>Letter Uppercase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="27"/>
<location filename="../chardialog.cpp" line="58"/>
<location filename="../chardialog.cpp" line="59"/>
<source>Letter Lowercase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="27"/>
<location filename="../chardialog.cpp" line="58"/>
<location filename="../chardialog.cpp" line="59"/>
<source>Letter Titlecase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="27"/>
<location filename="../chardialog.cpp" line="58"/>
<location filename="../chardialog.cpp" line="59"/>
<source>Letter Modifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="27"/>
<location filename="../chardialog.cpp" line="58"/>
<location filename="../chardialog.cpp" line="59"/>
<source>Letter Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="28"/>
<location filename="../chardialog.cpp" line="59"/>
<location filename="../chardialog.cpp" line="60"/>
<source>Punctuation Connector</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="28"/>
<location filename="../chardialog.cpp" line="59"/>
<location filename="../chardialog.cpp" line="60"/>
<source>Punctuation Dash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="28"/>
<location filename="../chardialog.cpp" line="59"/>
<location filename="../chardialog.cpp" line="60"/>
<source>Punctuation Open</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="28"/>
<location filename="../chardialog.cpp" line="59"/>
<location filename="../chardialog.cpp" line="60"/>
<source>Punctuation Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="29"/>
<location filename="../chardialog.cpp" line="60"/>
<location filename="../chardialog.cpp" line="61"/>
<source>Punctuation InitialQuote</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="29"/>
<location filename="../chardialog.cpp" line="60"/>
<location filename="../chardialog.cpp" line="61"/>
<source>Punctuation FinalQuote</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="29"/>
<location filename="../chardialog.cpp" line="60"/>
<location filename="../chardialog.cpp" line="61"/>
<source>Punctuation Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="29"/>
<location filename="../chardialog.cpp" line="60"/>
<location filename="../chardialog.cpp" line="61"/>
<source>Symbol Math</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="30"/>
<location filename="../chardialog.cpp" line="61"/>
<location filename="../chardialog.cpp" line="62"/>
<source>Symbol Currency</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="30"/>
<location filename="../chardialog.cpp" line="61"/>
<location filename="../chardialog.cpp" line="62"/>
<source>Symbol Modifier</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../chardialog.cpp" line="30"/>
<location filename="../chardialog.cpp" line="61"/>
<location filename="../chardialog.cpp" line="62"/>
<source>Symbol Other</source>
<translation type="unfinished"></translation>
</message>
@@ -208,21 +208,24 @@
<name>ColorButton</name>
<message>
<location filename="../colorbutton.cpp" line="20"/>
<location filename="../colorbutton.cpp" line="93"/>
<source>Copy</source>
<translation>Копировать</translation>
</message>
<message>
<location filename="../colorbutton.cpp" line="21"/>
<location filename="../colorbutton.cpp" line="94"/>
<source>Paste</source>
<translation>Вставить</translation>
</message>
<message>
<location filename="../colorbutton.cpp" line="23"/>
<location filename="../colorbutton.cpp" line="95"/>
<source>Mix with clipboard</source>
<translation>Смешать со скопированным</translation>
</message>
<message>
<location filename="../colorbutton.cpp" line="90"/>
<location filename="../colorbutton.cpp" line="104"/>
<source>Choose color</source>
<translation>Выбрать цвет</translation>
</message>
@@ -231,6 +234,7 @@
<name>EComboBox</name>
<message>
<location filename="../ecombobox.cpp" line="44"/>
<location filename="../ecombobox.cpp" line="80"/>
<source>Filter</source>
<translation>Фильтр</translation>
</message>
@@ -239,7 +243,7 @@
<name>EvalSpinBox</name>
<message>
<location filename="../evalspinbox.cpp" line="28"/>
<location filename="../evalspinbox.cpp" line="92"/>
<location filename="../evalspinbox.cpp" line="93"/>
<source>Clear</source>
<translation>Очистить</translation>
</message>
@@ -249,12 +253,12 @@
<message>
<location filename="../matrixedit.ui" line="33"/>
<source>Cols:</source>
<translation type="unfinished"></translation>
<translation>Колонки:</translation>
</message>
<message>
<location filename="../matrixedit.ui" line="47"/>
<source>Rows:</source>
<translation type="unfinished"></translation>
<translation>Строки:</translation>
</message>
<message>
<location filename="../matrixedit.ui" line="76"/>
@@ -264,7 +268,7 @@
<message>
<location filename="../matrixedit.ui" line="79"/>
<source>0</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../matrixedit.ui" line="86"/>
@@ -274,7 +278,7 @@
<message>
<location filename="../matrixedit.ui" line="89"/>
<source>I</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@@ -286,7 +290,7 @@
</message>
<message>
<location filename="../qvariantedit.cpp" line="112"/>
<location filename="../qvariantedit.cpp" line="124"/>
<location filename="../qvariantedit.cpp" line="125"/>
<source>Choose</source>
<translation>Выберите</translation>
</message>
@@ -305,6 +309,7 @@
<name>QCodeEdit</name>
<message>
<location filename="../qcodeedit.cpp" line="53"/>
<location filename="../qcodeedit.cpp" line="570"/>
<source>Press F1 for details</source>
<translation>Нажмите F1 для справочной информации</translation>
</message>
@@ -321,7 +326,7 @@
<message>
<location filename="../qcodeedit.ui" line="143"/>
<source>Aa</source>
<translation type="unfinished"></translation>
<translation>Аа</translation>
</message>
<message>
<location filename="../qcodeedit.ui" line="159"/>
@@ -389,7 +394,7 @@
<message>
<location filename="../qpiconfignewdialog.ui" line="26"/>
<source>Type</source>
<translation type="unfinished">Тип</translation>
<translation>Тип</translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="32"/>
@@ -504,128 +509,73 @@
<message>
<location filename="../qpiconfignewdialog.ui" line="148"/>
<source>Name:</source>
<translation type="unfinished"></translation>
<translation>Имя:</translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="181"/>
<source>Comment:</source>
<translation type="unfinished"></translation>
<translation>Комментарий:</translation>
</message>
<message>
<location filename="../qpiconfignewdialog.ui" line="191"/>
<source>Value:</source>
<translation type="unfinished"></translation>
<translation>Значение:</translation>
</message>
</context>
<context>
<name>QPIConfigWidget</name>
<message>
<location filename="../qpiconfigwidget.cpp" line="341"/>
<location filename="../qpiconfigwidget.cpp" line="339"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="341"/>
<location filename="../qpiconfigwidget.cpp" line="339"/>
<source>Value</source>
<translation>Значение</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="341"/>
<location filename="../qpiconfigwidget.cpp" line="339"/>
<source>Type</source>
<translation>Тип</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="341"/>
<location filename="../qpiconfigwidget.cpp" line="339"/>
<source>Comment</source>
<translation>Описание</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="345"/>
<source>string</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="346"/>
<source>string list</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="347"/>
<source>integer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="348"/>
<source>float</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="349"/>
<source>boolean</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="350"/>
<source>color</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="351"/>
<source>rectangle</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="352"/>
<source>area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="353"/>
<source>point</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="354"/>
<source>vector</source>
<translation type="unfinished"></translation>
<source>Add item ...</source>
<translation>Добавить поле ...</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="355"/>
<source>ip</source>
<translation type="unfinished"></translation>
<source>Add node ...</source>
<translation>Добавить секцию ...</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="356"/>
<source>Add item ...</source>
<translation type="unfinished"></translation>
<source>Convert to item</source>
<translation>Преобразовать в значение</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="357"/>
<source>Add node ...</source>
<translation type="unfinished"></translation>
<source>Convert to node</source>
<translation>Преобразовать в секцию</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="358"/>
<source>Convert to item</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="359"/>
<source>Convert to node</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="360"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="361"/>
<location filename="../qpiconfigwidget.cpp" line="359"/>
<source>Expand all</source>
<translation>Свернуть все</translation>
</message>
<message>
<location filename="../qpiconfigwidget.cpp" line="362"/>
<location filename="../qpiconfigwidget.cpp" line="360"/>
<source>Collapse all</source>
<translation>Развернуть все</translation>
</message>
@@ -634,13 +584,13 @@
<name>QPointEdit</name>
<message>
<location filename="../qpointedit.cpp" line="12"/>
<location filename="../qpointedit.cpp" line="29"/>
<location filename="../qpointedit.cpp" line="30"/>
<source>X</source>
<translation></translation>
</message>
<message>
<location filename="../qpointedit.cpp" line="13"/>
<location filename="../qpointedit.cpp" line="30"/>
<location filename="../qpointedit.cpp" line="31"/>
<source>Y</source>
<translation></translation>
</message>
@@ -649,25 +599,25 @@
<name>QRectEdit</name>
<message>
<location filename="../qrectedit.cpp" line="18"/>
<location filename="../qrectedit.cpp" line="49"/>
<location filename="../qrectedit.cpp" line="50"/>
<source>X</source>
<translation></translation>
</message>
<message>
<location filename="../qrectedit.cpp" line="19"/>
<location filename="../qrectedit.cpp" line="50"/>
<location filename="../qrectedit.cpp" line="51"/>
<source>Y</source>
<translation></translation>
</message>
<message>
<location filename="../qrectedit.cpp" line="20"/>
<location filename="../qrectedit.cpp" line="51"/>
<location filename="../qrectedit.cpp" line="52"/>
<source>Height</source>
<translation>Высота</translation>
</message>
<message>
<location filename="../qrectedit.cpp" line="21"/>
<location filename="../qrectedit.cpp" line="52"/>
<location filename="../qrectedit.cpp" line="53"/>
<source>Width</source>
<translation>Ширина</translation>
</message>
@@ -692,13 +642,13 @@
<name>Shortcuts</name>
<message>
<location filename="../shortcuts.cpp" line="38"/>
<location filename="../shortcuts.cpp" line="54"/>
<location filename="../shortcuts.cpp" line="55"/>
<source>Command</source>
<translation>Команда</translation>
</message>
<message>
<location filename="../shortcuts.cpp" line="38"/>
<location filename="../shortcuts.cpp" line="54"/>
<location filename="../shortcuts.cpp" line="55"/>
<source>Shortcut</source>
<translation>Горячая клавиша</translation>
</message>
@@ -707,19 +657,19 @@
<name>StringListEdit</name>
<message>
<location filename="../qvariantedit.cpp" line="67"/>
<location filename="../qvariantedit.cpp" line="85"/>
<location filename="../qvariantedit.cpp" line="86"/>
<source>Add</source>
<translation>Добавить</translation>
</message>
<message>
<location filename="../qvariantedit.cpp" line="68"/>
<location filename="../qvariantedit.cpp" line="86"/>
<location filename="../qvariantedit.cpp" line="87"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
<location filename="../qvariantedit.cpp" line="69"/>
<location filename="../qvariantedit.cpp" line="87"/>
<location filename="../qvariantedit.cpp" line="88"/>
<source>Clear</source>
<translation>Очистить</translation>
</message>

View File

@@ -1 +1,2 @@
lupdate ../ -ts qad_widgets_ru.ts
lupdate ../ -ts qad_widgets_en.ts

View File

@@ -52,6 +52,18 @@ void MatrixEdit::clear(bool ident) {
}
void MatrixEdit::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
QVector<double> MatrixEdit::vector() const {
QVector<double> ret;
if (ui->table->columnCount() < 1) return ret;

View File

@@ -46,6 +46,7 @@ public:
private:
void setVectorMode(bool yes);
void clear(bool ident = false);
void changeEvent(QEvent * e);
Ui::MatrixEdit * ui;
bool ro;

View File

@@ -562,6 +562,19 @@ void QCodeEdit::leaveEvent(QEvent * e) {
}
void QCodeEdit::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
lbl_help[1]->setText(tr("Press F1 for details"));
break;
default:
break;
}
}
char antiBracket(char c) {
switch (c) {
case '(': return ')';

View File

@@ -115,6 +115,7 @@ private:
void showEvent(QShowEvent * );
void timerEvent(QTimerEvent * );
void leaveEvent(QEvent * );
void changeEvent(QEvent * e);
void highlightBrackets();
void applyExtraSelection();
void nextCompletition();

View File

@@ -46,13 +46,11 @@ QPIConfigWidget::QPIConfigWidget(QWidget * parent, QPIConfig * c, bool on): QTre
void QPIConfigWidget::changeEvent(QEvent * e) {
QTreeWidget::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
translate();
return;
}
//for (int i = 0; i < 4; ++i)
// setColumnHidden(i, c_hidden[i]);
QTreeWidget::changeEvent(e);
}
@@ -342,17 +340,17 @@ void QPIConfigWidget::translate() {
if (active) setHeaderLabels(l);
types.clear();
s_types.clear();
addTrEntry("s", tr("string"));
addTrEntry("l", tr("string list"));
addTrEntry("n", tr("integer"));
addTrEntry("f", tr("float"));
addTrEntry("b", tr("boolean"));
addTrEntry("c", tr("color"));
addTrEntry("r", tr("rectangle"));
addTrEntry("a", tr("area"));
addTrEntry("p", tr("point"));
addTrEntry("v", tr("vector"));
addTrEntry("i", tr("ip"));
addTrEntry("s", "string");
addTrEntry("l", "string list");
addTrEntry("n", "integer");
addTrEntry("f", "float");
addTrEntry("b", "boolean");
addTrEntry("c", "color");
addTrEntry("r", "rectangle");
addTrEntry("a", "area");
addTrEntry("p", "point");
addTrEntry("v", "vector");
addTrEntry("i", "ip");
actionAddItem.setText(tr("Add item ..."));
actionAddNode.setText(tr("Add node ..."));
actionToItem.setText(tr("Convert to item"));

View File

@@ -25,10 +25,10 @@ QPointEdit::QPointEdit(QWidget * parent): QWidget(parent), lay(QBoxLayout::LeftT
void QPointEdit::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
s_x->setToolTip(tr("X"));
s_y->setToolTip(tr("Y"));
return;
}
QWidget::changeEvent(e);
}

View File

@@ -45,6 +45,7 @@ QRectEdit::QRectEdit(QWidget * parent): QWidget(parent), lay(QBoxLayout::LeftToR
void QRectEdit::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
s_x->setToolTip(tr("X"));
s_y->setToolTip(tr("Y"));
@@ -52,5 +53,4 @@ void QRectEdit::changeEvent(QEvent * e) {
s_h->setToolTip(tr("Width"));
return;
}
QWidget::changeEvent(e);
}

View File

@@ -81,13 +81,13 @@ StringListEdit::StringListEdit(QWidget * parent): QWidget(parent), lay(QBoxLayou
void StringListEdit::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
butt_add->setToolTip(tr("Add"));
butt_del->setToolTip(tr("Remove"));
butt_clear->setToolTip(tr("Clear"));
return;
}
QWidget::changeEvent(e);
}
@@ -120,11 +120,11 @@ PathEdit::PathEdit(QWidget * parent): QWidget(parent), lay(QBoxLayout::LeftToRig
void PathEdit::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
butt_select->setToolTip(tr("Choose") + " ...");
return;
}
QWidget::changeEvent(e);
}

View File

@@ -7,6 +7,15 @@
# include <QScreen>
#endif
#include "session_manager.h"
#include "qad_locations.h"
SessionManager::SessionManager(QString file) {
if (file.isEmpty() && !QCoreApplication::applicationName().isEmpty()) {
file = QAD::userPath(QAD::ltConfig, "session");
}
setFile(file);
}
void SessionManager::setFile(const QString & file) {
@@ -34,7 +43,10 @@ void SessionManager::removeMainWidget(QWidget * e) {
void SessionManager::save() {
if (file_.isEmpty()) return;
if (file_.isEmpty()) {
qDebug() << "[SessionManager] filename is empty";
return;
}
QPIConfig sr(file_);
QObjectList tsc;
for (int i = 0; i < mwindows.size(); ++i) {
@@ -137,19 +149,14 @@ void restoreWindowState(QWidget * w, QPIConfig & sr, QString name) {
srect.y() + (srect.height() - w->height()) / 2,
w->width(), w->height());
}
/*if (w->windowState().testFlag(Qt::WindowMaximized)) {
foreach (QScreen * s, sl) {
if (s->geometry().contains(w->geometry())) {
//w->setGeometry(s->availableGeometry());
break;
}
}
}*/
}
void SessionManager::load(bool onlyMainwindow) {
if (file_.isEmpty()) return;
if (file_.isEmpty()) {
qDebug() << "[SessionManager] filename is empty";
return;
}
QPIConfig sr(file_);
QObjectList tsc;
for (int i = 0; i < mwindows.size(); ++i) {

View File

@@ -47,8 +47,7 @@ class QAD_EXPORT SessionManager: public QObject
{
Q_OBJECT
public:
SessionManager(const QString & file = QString()) {setFile(file);}
~SessionManager() {;}
SessionManager(QString file = QString());
void setFile(const QString & file);

View File

@@ -49,10 +49,12 @@ Shortcuts::~Shortcuts() {
void Shortcuts::changeEvent(QEvent * e) {
QTreeWidget::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
QStringList l;
l << tr("Command") << tr("Shortcut");
setHeaderLabels(l);
return;
}
}

View File

@@ -35,7 +35,6 @@ GLObjectEditor::GLObjectEditor(QWidget * parent): QWidget(parent) {
void GLObjectEditor::changeEvent(QEvent * e) {
return;
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:

View File

@@ -29,7 +29,6 @@ MaterialEditor::MaterialEditor(QWidget * parent): QWidget(parent) {
void MaterialEditor::changeEvent(QEvent * e) {
return;
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:

View File

@@ -28,7 +28,6 @@ MaterialMapEditor::MaterialMapEditor(QWidget * parent): QWidget(parent) {
void MaterialMapEditor::changeEvent(QEvent * e) {
return;
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange: