Browse Source

[COR] fixes #428

master r0.10.1
Ulrich Van Den Hekke 11 years ago
parent
commit
92566a53cf
  1. 48
      framework/application/welcomdlgimpl.cpp
  2. 4
      framework/application/welcomdlgimpl.h
  3. 3
      framework/application/welcomdlgimpl_p.h
  4. 8
      framework/project/xinxprojectmanager.cpp
  5. 1
      framework/project/xinxprojectmanager.h
  6. 6
      framework/session/session.cpp
  7. 25
      framework/session/sessionmanager.cpp
  8. 1
      framework/session/sessionmanager.h
  9. 222
      framework/translations/framework_en.ts
  10. 229
      framework/translations/framework_fr.ts
  11. 1
      xinx/application.qrc
  12. BIN
      xinx/images/list-remove.png

48
framework/application/welcomdlgimpl.cpp

@ -22,6 +22,7 @@
#include "welcomdlgimpl_p.h"
#include <core/xinxconfig.h>
#include <project/xinxprojectproject.h>
#include <project/xinxprojectprojectexception.h>
// Qt header
#include <QFileInfo>
@ -29,10 +30,11 @@
#include <QTextStream>
#include <QDesktopServices>
#include <QDir>
#include <QMessageBox>
#include <QPushButton>
/* WelcomDialogImpl */
#include <project/xinxprojectprojectexception.h>
#include <QMessageBox>
WelcomDialogImpl::WelcomDialogImpl(QWidget * parent, Qt::WindowFlags f) : QDialog(parent, f)
{
@ -41,7 +43,9 @@ WelcomDialogImpl::WelcomDialogImpl(QWidget * parent, Qt::WindowFlags f) : QDialo
updateTipOfTheDay();
connect(m_sessionsWidget, SIGNAL(activated(QString)), SLOT(slotSessionClicked(QString)));
connect(m_sessionsWidget, SIGNAL(deleted(QString)), SLOT(slotSessionRemovedClicked(QString)));
connect(m_projectWidget, SIGNAL(activated(QString)), SLOT(slotProjectClicked(QString)));
connect(m_projectWidget, SIGNAL(deleted(QString)), SLOT(slotProjectRemovedClicked(QString)));
// connect(m_sitesWidget, SIGNAL(activated(QString)), SLOT(slotUrlClicked(QString)));
connect(m_createNewProjectBtn, SIGNAL(clicked()), SLOT(accept()));
connect(m_createNewProjectBtn, SIGNAL(clicked()), SIGNAL(createNewProject()));
@ -117,12 +121,40 @@ void WelcomDialogImpl::slotProjectClicked(const QString &data)
emit requestProject(data);
}
void WelcomDialogImpl::slotProjectRemovedClicked(const QString& data)
{
for(int i = 0; i < m_projectWidget->count(); i++)
{
if (data == m_projectWidget->item(i)->data(Qt::UserRole))
{
QListWidgetItem* item = m_projectWidget->takeItem(i);
delete item;
break;
}
}
emit removeProject(data);
}
void WelcomDialogImpl::slotSessionClicked(const QString &data)
{
accept();
emit requestSession(data);
}
void WelcomDialogImpl::slotSessionRemovedClicked(const QString& data)
{
for(int i = 0; i < m_sessionsWidget->count(); i++)
{
if (data == m_sessionsWidget->item(i)->data(Qt::UserRole))
{
QListWidgetItem* item = m_sessionsWidget->takeItem(i);
delete item;
break;
}
}
emit removeSession(data);
}
void WelcomDialogImpl::slotUrlClicked(const QString &data)
{
QDesktopServices::openUrl(QUrl(data));
@ -133,6 +165,8 @@ void WelcomDialogImpl::slotUrlClicked(const QString &data)
WelcomTreeWidget::WelcomTreeWidget(QWidget *parent) : QListWidget(parent), m_bullet(QLatin1String(":/images/bullet_arrow.png"))
{
m_signalMapper = new QSignalMapper(this);
connect(m_signalMapper, SIGNAL(mapped(QString)), this, SIGNAL(deleted(QString)));
connect(this, SIGNAL(itemClicked(QListWidgetItem *)), SLOT(slotItemClicked(QListWidgetItem *)));
}
@ -155,9 +189,17 @@ QListWidgetItem *WelcomTreeWidget::addItem(const QString &label, const QString &
QLabel * lbl = new QLabel(label);
lbl->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
QBoxLayout *lay = new QVBoxLayout;
QPushButton * closeBtn = new QPushButton(this);
closeBtn->setIcon(QIcon(":/images/list-remove.png"));
closeBtn->setFlat(true);
m_signalMapper->setMapping(closeBtn, data);
connect(closeBtn, SIGNAL(clicked()), m_signalMapper, SLOT(map()));
QBoxLayout *lay = new QHBoxLayout;
lay->setContentsMargins(3, 2, 0, 0);
lay->addWidget(lbl);
lay->addStretch();
lay->addWidget(closeBtn);
QWidget *wdg = new QWidget;
wdg->setLayout(lay);

4
framework/application/welcomdlgimpl.h

@ -40,10 +40,14 @@ public:
public slots:
void slotUrlClicked(const QString &data);
void slotProjectClicked(const QString &data);
void slotProjectRemovedClicked(const QString &data);
void slotSessionClicked(const QString &data);
void slotSessionRemovedClicked(const QString &data);
signals:
void requestProject(const QString & data);
void removeProject(const QString & data);
void requestSession(const QString & data);
void removeSession(const QString & data);
void createNewProject();
void openExistingProject();
private:

3
framework/application/welcomdlgimpl_p.h

@ -22,6 +22,7 @@
// Qt header
#include <QListWidget>
#include <QSignalMapper>
//! \private
class WelcomTreeWidget : public QListWidget
@ -34,6 +35,7 @@ public:
signals:
void activated(const QString &data);
void deleted(const QString & data);
protected:
virtual QSize minimumSizeHint() const;
@ -44,6 +46,7 @@ private slots:
private:
QIcon m_bullet;
QSignalMapper * m_signalMapper;
};
#endif // WELCOMDLGIMPL_P_H

8
framework/project/xinxprojectmanager.cpp

@ -404,6 +404,12 @@ void Manager::openProject(ProjectPtr project)
}
}
void Manager::removeProject(const QString& directory)
{
XINXConfig::self()->config().project.recentProjectFiles.removeAll(directory);
d->updateRecentProjects();
}
void Manager::customizeProject(XinxProject::ProjectPtr project)
{
ProjectPropertyImpl property(qApp->activeWindow());
@ -538,7 +544,9 @@ void Manager::openWelcomDialog()
connect(&dlg, SIGNAL(createNewProject()), SLOT(newProject()));
connect(&dlg, SIGNAL(openExistingProject()), d, SLOT(openProjectTriggered()));
connect(&dlg, SIGNAL(requestProject(QString)), SLOT(openProject(QString)));
connect(&dlg, SIGNAL(removeProject(QString)), SLOT(removeProject(QString)));
connect(&dlg, SIGNAL(requestSession(QString)), XinxSession::SessionManager::self(), SLOT(restoreSession(QString)));
connect(&dlg, SIGNAL(removeSession(QString)), XinxSession::SessionManager::self(), SLOT(deleteSession(QString)));
dlg.exec();
}

1
framework/project/xinxprojectmanager.h

@ -62,6 +62,7 @@ public slots:
void customizeProject(ProjectPtr project);
bool closeProject(ProjectPtr project, bool showWelcome = true);
bool closeAllProject();
void removeProject(const QString & directory);
void openWelcomDialog();
signals:

6
framework/session/session.cpp

@ -325,12 +325,12 @@ void Session::saveSession(const QString& sessionName)
emit changed();
}
void Session::removeSession(const QString & sessionName)
void Session::removeSession(const QString & name)
{
Q_ASSERT_X(!sessionName.isEmpty(), "Session::removeSession", "Session name can't be empty");
Q_ASSERT_X(!name.isEmpty(), "Session::removeSession", "Session name can't be empty");
QSettings settings;
settings.beginGroup("sessions");
settings.remove(sessionName);
settings.remove(name);
settings.endGroup();
}

25
framework/session/sessionmanager.cpp

@ -258,13 +258,32 @@ void SessionManager::renameSession(const QString & sessionName)
d->updateSessions();
}
void SessionManager::deleteSession()
void SessionManager::deleteSession(QString sessionName)
{
Session::removeSession(d->_current_session->sessionName());
restoreSession(DEFAULT_SESSION);
// If we are on default session, we must remove before
if (sessionName == DEFAULT_SESSION)
{
Session::removeSession(sessionName);
}
if (sessionName == d->_current_session->sessionName())
{
restoreSession(DEFAULT_SESSION);
}
// Else we remove the session after change it.
if (sessionName != DEFAULT_SESSION)
{
Session::removeSession(sessionName);
}
d->updateSessions();
}
void SessionManager::deleteSession()
{
deleteSession(d->_current_session->sessionName());
}
void SessionManager::createRecoverSession()
{
saveSession(RECOVER_SESSION, true);

1
framework/session/sessionmanager.h

@ -57,6 +57,7 @@ public slots:
void restoreSession(const QString & sessionName = DEFAULT_SESSION);
void renameSession(const QString & sessionName);
void saveSession(const QString & sessionName = QString(), bool recover = false);
void deleteSession(QString sessionName);
void deleteSession();
void createRecoverSession();

222
framework/translations/framework_en.ts

@ -399,10 +399,20 @@ Only checked files are commited.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../contentview3/parser.cpp" line="298"/>
<location filename="../contentview3/parser.cpp" line="299"/>
<source>The file %1 will be locked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../contentview3/parser.cpp" line="302"/>
<source>Can&apos;t open &quot;%1&quot; : %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../contentview3/parser.cpp" line="314"/>
<source>The file %1 is unlocked</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CustomDialog</name>
@ -1040,7 +1050,7 @@ Do you really want refresh this?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../core/errordockimpl.cpp" line="43"/>
<location filename="../core/errordockimpl.cpp" line="42"/>
<source>Clear the errors</source>
<translation type="unfinished"></translation>
</message>
@ -1391,96 +1401,96 @@ Do you really want refresh this?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="485"/>
<location filename="../application/mainformimpl.cpp" line="486"/>
<location filename="../application/mainformimpl.cpp" line="582"/>
<location filename="../application/mainformimpl.cpp" line="487"/>
<location filename="../application/mainformimpl.cpp" line="488"/>
<location filename="../application/mainformimpl.cpp" line="584"/>
<source>Unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="492"/>
<location filename="../application/mainformimpl.cpp" line="494"/>
<source>Ready</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="518"/>
<location filename="../application/mainformimpl.cpp" line="520"/>
<source>Snipet is not supported in this kind of editor.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="581"/>
<location filename="../application/mainformimpl.cpp" line="583"/>
<source>No codec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="640"/>
<location filename="../application/mainformimpl.cpp" line="642"/>
<source>Printed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="658"/>
<location filename="../application/mainformimpl.cpp" line="660"/>
<source>Replace text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="658"/>
<location filename="../application/mainformimpl.cpp" line="660"/>
<source>Replace this occurence</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="710"/>
<location filename="../application/mainformimpl.cpp" line="714"/>
<location filename="../application/mainformimpl.cpp" line="712"/>
<location filename="../application/mainformimpl.cpp" line="716"/>
<source>Search End</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="710"/>
<location filename="../application/mainformimpl.cpp" line="712"/>
<source>Search have been aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="714"/>
<location filename="../application/mainformimpl.cpp" line="716"/>
<source>All string are finded</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="777"/>
<location filename="../application/mainformimpl.cpp" line="784"/>
<location filename="../application/mainformimpl.cpp" line="779"/>
<location filename="../application/mainformimpl.cpp" line="786"/>
<source>Search/Replace</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="778"/>
<location filename="../application/mainformimpl.cpp" line="780"/>
<source>%1 occurences of &apos;%2&apos; replaced.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="785"/>
<location filename="../application/mainformimpl.cpp" line="787"/>
<source>%1 occurences of &apos;%2&apos; %3. Return to the beginning of the document ?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="785"/>
<location filename="../application/mainformimpl.cpp" line="787"/>
<source>replaced</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="785"/>
<location filename="../application/mainformimpl.cpp" line="787"/>
<source>finded</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="896"/>
<location filename="../application/mainformimpl.cpp" line="898"/>
<source>File loaded</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="903"/>
<location filename="../application/mainformimpl.cpp" line="905"/>
<source>File saved</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="910"/>
<location filename="../application/mainformimpl.cpp" line="912"/>
<source>File closed</source>
<translation type="unfinished"></translation>
</message>
@ -1992,117 +2002,117 @@ Do you really want refresh this?</source>
<context>
<name>PrivateProjectDirectoryWidgetImpl</name>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="44"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="47"/>
<source>C&amp;reate directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="46"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="49"/>
<source>&amp;Create file ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="48"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="51"/>
<source>&amp;Open</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="50"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="53"/>
<source>Remo&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="52"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="55"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="55"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="58"/>
<source>&amp;Copy filename to Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="57"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="60"/>
<source>Co&amp;py path to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="60"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="63"/>
<source>Set the project as &amp;default</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="62"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="65"/>
<source>Pro&amp;ject Property</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="64"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="67"/>
<source>C&amp;lose project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="67"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="70"/>
<source>Compare with the version management</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="69"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="72"/>
<source>Co&amp;mpare files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="72"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="75"/>
<source>Update project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="74"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="77"/>
<source>Commit project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="76"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="79"/>
<source>Add file(s) to project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="78"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="81"/>
<source>Delete file(s) from project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="80"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="83"/>
<source>Revert file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="82"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="85"/>
<source>Blame file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="84"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="87"/>
<source>Show log</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="256"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="259"/>
<source>Create a new directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="256"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="259"/>
<source>Enter the name of the new directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="308"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="311"/>
<source>Delete file(s)</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location filename="../project/projectdirectorywidgetimpl.cpp" line="308"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="311"/>
<source>Can you confirm that you want remove %Ln file(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -2110,15 +2120,25 @@ Do you really want refresh this?</source>
</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="328"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="331"/>
<source>Rename a file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="328"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="331"/>
<source>Enter the name of the new file name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="638"/>
<source>Filter apply in %1 ms</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="668"/>
<source>Expand/Collapse tree in %1 ms</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PrivateXinxProject</name>
@ -2320,17 +2340,17 @@ Do you really want refresh this?</source>
<context>
<name>ProjectDirectoryWidgetImpl</name>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="698"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="693"/>
<source>Project Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="701"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="696"/>
<source>Toggled Flat View</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="702"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="697"/>
<source>If checked the list is showed as flat instead of tree. Each list of file is preceded of a directory header.</source>
<translation type="unfinished"></translation>
</message>
@ -2754,9 +2774,9 @@ A project can define web services too.</source>
</message>
</context>
<context>
<name>SnipetDockWidget</name>
<name>SnipetDockWidgetPrivate</name>
<message>
<location filename="../snipets/snipetdockwidget.cpp" line="53"/>
<location filename="../snipets/snipetdockwidget.cpp" line="52"/>
<source>Snipets</source>
<translation type="unfinished"></translation>
</message>
@ -3278,7 +3298,7 @@ This wizard will convert the project to the last version of XINX. Wizard must co
<context>
<name>XinxCodeEdit</name>
<message>
<location filename="../editors/xinxcodeedit.cpp" line="923"/>
<location filename="../editors/xinxcodeedit.cpp" line="924"/>
<source>Can&apos;t comment this type of document</source>
<translation type="unfinished"></translation>
</message>
@ -3286,30 +3306,45 @@ This wizard will convert the project to the last version of XINX. Wizard must co
<context>
<name>XinxJob</name>
<message>
<location filename="../jobs/xinxjob.cpp" line="67"/>
<location filename="../jobs/xinxjob.cpp" line="35"/>
<source>A Job is created : %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="42"/>
<source>A job is destroyed : %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="80"/>
<source>Waiting ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="69"/>
<location filename="../jobs/xinxjob.cpp" line="82"/>
<source>Running ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="71"/>
<location filename="../jobs/xinxjob.cpp" line="84"/>
<source>Cleaning ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="73"/>
<location filename="../jobs/xinxjob.cpp" line="86"/>
<source>Unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="143"/>
<location filename="../jobs/xinxjob.cpp" line="159"/>
<source>Unknown exception</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="162"/>
<source>The job &quot;%1&quot; take %2 ms.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>XinxJobProgressDock</name>
@ -3330,12 +3365,12 @@ This wizard will convert the project to the last version of XINX. Wizard must co
<context>
<name>XinxPluginsLoader</name>
<message>
<location filename="../plugins/xinxpluginsloader.cpp" line="471"/>
<location filename="../plugins/xinxpluginsloader.cpp" line="473"/>
<source>All managed files (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../plugins/xinxpluginsloader.cpp" line="476"/>
<location filename="../plugins/xinxpluginsloader.cpp" line="478"/>
<source>All %1 (%2)</source>
<translation type="unfinished"></translation>
</message>
@ -3343,7 +3378,7 @@ This wizard will convert the project to the last version of XINX. Wizard must co
<context>
<name>XinxProject::DirectoryFetcher</name>
<message>
<location filename="../project/projectlistmodel.cpp" line="93"/>
<location filename="../project/projectlistmodel.cpp" line="104"/>
<source>Fetch files of %1</source>
<translation type="unfinished"></translation>
</message>
@ -3447,43 +3482,50 @@ This wizard will convert the project to the last version of XINX. Wizard must co
<context>
<name>XinxProject::PrivateProjectListModel</name>
<message>
<location filename="../project/projectlistmodel.cpp" line="693"/>
<location filename="../project/projectlistmodel.cpp" line="650"/>
<location filename="../project/projectlistmodel.cpp" line="722"/>
<location filename="../project/projectlistmodel.cpp" line="749"/>
<source>Node for directory %1 not found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectlistmodel.cpp" line="817"/>
<location filename="../project/projectlistmodel.cpp" line="853"/>
<source>Not in Revision</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectlistmodel.cpp" line="855"/>
<source>Unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectlistmodel.cpp" line="819"/>
<location filename="../project/projectlistmodel.cpp" line="857"/>
<source>Locally modified</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectlistmodel.cpp" line="821"/>
<location filename="../project/projectlistmodel.cpp" line="859"/>
<source>Locally added</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectlistmodel.cpp" line="823"/>
<location filename="../project/projectlistmodel.cpp" line="861"/>
<source>Locally removed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectlistmodel.cpp" line="825"/>
<location filename="../project/projectlistmodel.cpp" line="863"/>
<source>Has conflict</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectlistmodel.cpp" line="827"/>
<location filename="../project/projectlistmodel.cpp" line="828"/>
<location filename="../project/projectlistmodel.cpp" line="865"/>
<location filename="../project/projectlistmodel.cpp" line="866"/>
<source>No modified</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectlistmodel.cpp" line="827"/>
<location filename="../project/projectlistmodel.cpp" line="865"/>
<source>Need checkout</source>
<translation type="unfinished"></translation>
</message>
@ -3499,7 +3541,7 @@ This wizard will convert the project to the last version of XINX. Wizard must co
<context>
<name>XinxProject::ProjectListModel</name>
<message>
<location filename="../project/projectlistmodel.cpp" line="1115"/>
<location filename="../project/projectlistmodel.cpp" line="1153"/>
<source>
Date in Version Control : %1
Status : %2
@ -3507,7 +3549,7 @@ Version : %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectlistmodel.cpp" line="1116"/>
<location filename="../project/projectlistmodel.cpp" line="1154"/>
<source>Filename : %1
Date of file : %2%3</source>
<translation type="unfinished"></translation>
@ -3516,40 +3558,40 @@ Date of file : %2%3</source>
<context>
<name>XinxSession::PrivateSessionManager</name>
<message>
<location filename="../session/sessionmanager.cpp" line="69"/>
<location filename="../session/sessionmanager.cpp" line="74"/>
<location filename="../session/sessionmanager.cpp" line="70"/>
<location filename="../session/sessionmanager.cpp" line="75"/>
<source>Create a new session</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="69"/>
<location filename="../session/sessionmanager.cpp" line="70"/>
<source>Name of the new session</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="74"/>
<location filename="../session/sessionmanager.cpp" line="90"/>
<location filename="../session/sessionmanager.cpp" line="75"/>
<location filename="../session/sessionmanager.cpp" line="91"/>
<source>The name %1 is already used by another session</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="85"/>
<location filename="../session/sessionmanager.cpp" line="90"/>
<location filename="../session/sessionmanager.cpp" line="86"/>
<location filename="../session/sessionmanager.cpp" line="91"/>
<source>Rename session</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="85"/>
<location filename="../session/sessionmanager.cpp" line="86"/>
<source>New name of the session</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="101"/>
<location filename="../session/sessionmanager.cpp" line="102"/>
<source>Delete a session</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="101"/>
<location filename="../session/sessionmanager.cpp" line="102"/>
<source>Are you sure to delete the session %1 ?</source>
<translation type="unfinished"></translation>
</message>
@ -3557,32 +3599,32 @@ Date of file : %2%3</source>
<context>
<name>XinxSession::SessionManager</name>
<message>
<location filename="../session/sessionmanager.cpp" line="148"/>
<location filename="../session/sessionmanager.cpp" line="149"/>
<source>&amp;New session ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="149"/>
<location filename="../session/sessionmanager.cpp" line="150"/>
<source>Create a new session (list of project)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="153"/>
<location filename="../session/sessionmanager.cpp" line="154"/>
<source>&amp;Remove session ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="154"/>
<location filename="../session/sessionmanager.cpp" line="155"/>
<source>Remove the current session</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="158"/>
<location filename="../session/sessionmanager.cpp" line="159"/>
<source>Rename session ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../session/sessionmanager.cpp" line="159"/>
<location filename="../session/sessionmanager.cpp" line="160"/>
<source>Change the name of the current session</source>
<translation type="unfinished"></translation>
</message>

229
framework/translations/framework_fr.ts

@ -455,10 +455,20 @@ Seuls les fichiers cochés seront validés.</translation>
<translation>Traitement du fichier %1</translation>
</message>
<message>
<location filename="../contentview3/parser.cpp" line="298"/>
<location filename="../contentview3/parser.cpp" line="299"/>
<source>The file %1 will be locked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../contentview3/parser.cpp" line="302"/>
<source>Can&apos;t open &quot;%1&quot; : %2</source>
<translation type="unfinished">Ne peut ouvrir &quot;%1&quot; : %2</translation>
</message>
<message>
<location filename="../contentview3/parser.cpp" line="314"/>
<source>The file %1 is unlocked</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CustomDialog</name>
@ -1302,7 +1312,7 @@ Voulez-vous réellement actualiser ce fichier ?</translation>
<translation>Avertissement/Erreurs</translation>
</message>
<message>
<location filename="../core/errordockimpl.cpp" line="43"/>
<location filename="../core/errordockimpl.cpp" line="42"/>
<source>Clear the errors</source>
<translation>Effacer les erreurs</translation>
</message>
@ -1676,96 +1686,96 @@ Voulez-vous réellement actualiser ce fichier ?</translation>
<translation>Toujours afficher la fenêtre d&apos;exécution des modèles</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="485"/>
<location filename="../application/mainformimpl.cpp" line="486"/>
<location filename="../application/mainformimpl.cpp" line="582"/>
<location filename="../application/mainformimpl.cpp" line="487"/>
<location filename="../application/mainformimpl.cpp" line="488"/>
<location filename="../application/mainformimpl.cpp" line="584"/>
<source>Unknown</source>
<translation>Inconnu</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="492"/>
<location filename="../application/mainformimpl.cpp" line="494"/>
<source>Ready</source>
<translation>Prêt</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="518"/>
<location filename="../application/mainformimpl.cpp" line="520"/>
<source>Snipet is not supported in this kind of editor.</source>
<translation type="unfinished">Les modèles ne sont pas supportés par ce type d&apos;éditeur.</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="581"/>
<location filename="../application/mainformimpl.cpp" line="583"/>
<source>No codec</source>
<translation>Pas d&apos;encodage</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="640"/>
<location filename="../application/mainformimpl.cpp" line="642"/>
<source>Printed</source>
<translation>Imprimé</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="658"/>
<location filename="../application/mainformimpl.cpp" line="660"/>
<source>Replace text</source>
<translation>Remplacer le text</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="658"/>
<location filename="../application/mainformimpl.cpp" line="660"/>
<source>Replace this occurence</source>
<translation>Remplacer cette occurence</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="710"/>
<location filename="../application/mainformimpl.cpp" line="714"/>
<location filename="../application/mainformimpl.cpp" line="712"/>
<location filename="../application/mainformimpl.cpp" line="716"/>
<source>Search End</source>
<translation type="unfinished">Recherche terminée</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="710"/>
<location filename="../application/mainformimpl.cpp" line="712"/>
<source>Search have been aborted</source>
<translation type="unfinished">La recherche a é annulée</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="714"/>
<location filename="../application/mainformimpl.cpp" line="716"/>
<source>All string are finded</source>
<translation>Toutes les chaines ont é trouvées</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="777"/>
<location filename="../application/mainformimpl.cpp" line="784"/>
<location filename="../application/mainformimpl.cpp" line="779"/>
<location filename="../application/mainformimpl.cpp" line="786"/>
<source>Search/Replace</source>
<translation>Rechercher/Remplacer</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="778"/>
<location filename="../application/mainformimpl.cpp" line="780"/>
<source>%1 occurences of &apos;%2&apos; replaced.</source>
<translation type="unfinished">%1 occurences de &apos;%2&apos; remplacées.</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="785"/>
<location filename="../application/mainformimpl.cpp" line="787"/>
<source>%1 occurences of &apos;%2&apos; %3. Return to the beginning of the document ?</source>
<translation>%1 occurences de &apos;%2&apos; %3. Retourner au début du document ?</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="785"/>
<location filename="../application/mainformimpl.cpp" line="787"/>
<source>replaced</source>
<translation>remplacées</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="785"/>
<location filename="../application/mainformimpl.cpp" line="787"/>
<source>finded</source>
<translation>trouvées</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="896"/>
<location filename="../application/mainformimpl.cpp" line="898"/>
<source>File loaded</source>
<translation>Fichier chargé</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="903"/>
<location filename="../application/mainformimpl.cpp" line="905"/>
<source>File saved</source>
<translation>Fichier sauvé</translation>
</message>
<message>
<location filename="../application/mainformimpl.cpp" line="910"/>
<location filename="../application/mainformimpl.cpp" line="912"/>
<source>File closed</source>
<translation>Fichier fermé</translation>
</message>
@ -2312,117 +2322,117 @@ Voulez-vous réellement actualiser ce fichier ?</translation>
<context>
<name>PrivateProjectDirectoryWidgetImpl</name>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="44"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="47"/>
<source>C&amp;reate directory</source>
<translation>Cré&amp;er un dossier</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="46"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="49"/>
<source>&amp;Create file ...</source>
<translation>&amp;Créer un fichier ...</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="48"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="51"/>
<source>&amp;Open</source>
<translation>&amp;Ouvrir</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="50"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="53"/>
<source>Remo&amp;ve</source>
<translation>Sup&amp;primer</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="52"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="55"/>
<source>Rename</source>
<translation type="unfinished">Renommer</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="55"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="58"/>
<source>&amp;Copy filename to Clipboard</source>
<translation type="unfinished">C&amp;opie le nom du fichier vers le presse papier</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="57"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="60"/>
<source>Co&amp;py path to clipboard</source>
<translation type="unfinished">Cop&amp;ie le chemin dans le presse papier</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="60"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="63"/>
<source>Set the project as &amp;default</source>
<translation>Définir comme projet par &amp;défaut</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="62"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="65"/>
<source>Pro&amp;ject Property</source>
<translation>Propriété du pro&amp;jet</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="64"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="67"/>
<source>C&amp;lose project</source>
<translation>F&amp;ermer le projet</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="67"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="70"/>
<source>Compare with the version management</source>
<translation>Comparer avec le gestionnaire de version</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="69"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="72"/>
<source>Co&amp;mpare files</source>
<translation>Co&amp;mparer les fichiers</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="72"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="75"/>
<source>Update project</source>
<translation>Mise à jour du projet</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="74"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="77"/>
<source>Commit project</source>
<translation>Valide le projet</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="76"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="79"/>
<source>Add file(s) to project</source>
<translation>Ajouter le(s) fichier(s) aux projets</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="78"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="81"/>
<source>Delete file(s) from project</source>
<translation>Supprimer le(s) fichier(s) aux projets</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="80"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="83"/>
<source>Revert file</source>
<translation>Annuler les modifications</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="82"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="85"/>
<source>Blame file</source>
<translation type="unfinished">Dénoncer</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="84"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="87"/>
<source>Show log</source>
<translation>Afficher le journal</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="256"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="259"/>
<source>Create a new directory</source>
<translation>Créer un nouveau dossier</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="256"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="259"/>
<source>Enter the name of the new directory</source>
<translation>Entrer le nom du nouveau dossier</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="308"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="311"/>
<source>Delete file(s)</source>
<translation>Supprimer le(s) fichier(s)</translation>
</message>
<message numerus="yes">
<location filename="../project/projectdirectorywidgetimpl.cpp" line="308"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="311"/>
<source>Can you confirm that you want remove %Ln file(s)</source>
<translation>
<numerusform>Pouvez-vous confirmer que vous voulez supprimer %n fichiers</numerusform>
@ -2430,15 +2440,25 @@ Voulez-vous réellement actualiser ce fichier ?</translation>
</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="328"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="331"/>
<source>Rename a file</source>
<translation>Renommer le fichier</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="328"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="331"/>
<source>Enter the name of the new file name</source>
<translation type="unfinished">Entrer le nom du nouveau fichier</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="638"/>
<source>Filter apply in %1 ms</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="668"/>
<source>Expand/Collapse tree in %1 ms</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PrivateXinxProject</name>
@ -2663,17 +2683,17 @@ Voulez-vous réellement actualiser ce fichier ?</translation>
<context>
<name>ProjectDirectoryWidgetImpl</name>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="698"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="693"/>
<source>Project Directory</source>
<translation>Dossier projet</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="701"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="696"/>
<source>Toggled Flat View</source>
<translation type="unfinished">Basculer vers la vue plane</translation>
</message>
<message>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="702"/>
<location filename="../project/projectdirectorywidgetimpl.cpp" line="697"/>
<source>If checked the list is showed as flat instead of tree. Each list of file is preceded of a directory header.</source>
<translation type="unfinished">Si coché la liste est affichée à plat au lieu d&apos;être affichée sous forme d&apos;arbre. Chaque liste de fichier est précédée d&apos;un entête avec le nom du dossier.</translation>
</message>
@ -3175,9 +3195,16 @@ Un projet peut également être connecté à des services Internet.</translation
<context>
<name>SnipetDockWidget</name>
<message>
<location filename="../snipets/snipetdockwidget.cpp" line="53"/>
<source>Snipets</source>
<translation>Modèles</translation>
<translation type="obsolete">Modèles</translation>
</message>
</context>
<context>
<name>SnipetDockWidgetPrivate</name>
<message>
<location filename="../snipets/snipetdockwidget.cpp" line="52"/>
<source>Snipets</source>
<translation type="unfinished">Modèles</translation>
</message>
</context>
<context>
@ -3731,7 +3758,7 @@ Cet assistant va convertir le projet à la dernière version de de XINX. L&apos;
<context>
<name>XinxCodeEdit</name>
<message>
<location filename="../editors/xinxcodeedit.cpp" line="923"/>
<location filename="../editors/xinxcodeedit.cpp" line="924"/>
<source>Can&apos;t comment this type of document</source>
<translation>Ne peut commenter ce type de document</translation>
</message>
@ -3739,30 +3766,45 @@ Cet assistant va convertir le projet à la dernière version de de XINX. L&apos;
<context>
<name>XinxJob</name>
<message>
<location filename="../jobs/xinxjob.cpp" line="67"/>
<location filename="../jobs/xinxjob.cpp" line="35"/>
<source>A Job is created : %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="42"/>
<source>A job is destroyed : %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="80"/>
<source>Waiting ...</source>
<translation>En attente ...</translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="69"/>
<location filename="../jobs/xinxjob.cpp" line="82"/>
<source>Running ...</source>
<translation>En cours ...</translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="71"/>
<location filename="../jobs/xinxjob.cpp" line="84"/>
<source>Cleaning ...</source>
<translation>Nettoyage ...</translation>
</message>
<message>
<location filename="../jobs/xinxjob.cpp" line="73"/>
<location filename="../jobs/xinxjob.cpp" line="86"/>