Changed: #1307 Added documentation and minor fixes

--HG--
branch : gsoc2011-translationovqt
This commit is contained in:
cemycc 2011-08-22 14:42:51 +03:00
parent ec3fcf5ef3
commit 2a9293b72a
4 changed files with 75 additions and 59 deletions

View file

@ -59,7 +59,7 @@ void CEditorWorksheet::open(QString filename)
} else { } else {
QTableWidgetItem *col = new QTableWidgetItem(); QTableWidgetItem *col = new QTableWidgetItem();
ucstring col_name = wk_file.getData(0, i); ucstring col_name = wk_file.getData(0, i);
col->setText(tr(col_name.toString().c_str())); col->setText(QString(col_name.toString().c_str()));
if(hasHashValue) if(hasHashValue)
{ {
table_editor->setHorizontalHeaderItem(i - 1, col); table_editor->setHorizontalHeaderItem(i - 1, col);
@ -241,9 +241,9 @@ void CEditorWorksheet::extractBotNames(list<string> filters, string level_design
if(search_results.size() == 0) if(search_results.size() == 0)
{ {
QList<QString> records; QList<QString> records;
records.push_back(tr(it->first.c_str())); records.push_back(QString(it->first.c_str()));
records.push_back(tr(it->first.c_str())); records.push_back(QString(it->first.c_str()));
records.push_back(tr(it->second.SheetName.c_str())); records.push_back(QString(it->second.SheetName.c_str()));
insertTableRecords(records, new_items); insertTableRecords(records, new_items);
if(!modified) modified = true; if(!modified) modified = true;
} }
@ -261,8 +261,8 @@ void CEditorWorksheet::extractBotNames(list<string> filters, string level_design
if(search_results.size() == 0) if(search_results.size() == 0)
{ {
QList<QString> records; QList<QString> records;
records.push_back(tr((*it).c_str())); records.push_back(QString((*it).c_str()));
records.push_back(tr(gnName.c_str())); records.push_back(QString(gnName.c_str()));
records.push_back(" "); records.push_back(" ");
insertTableRecords(records, new_items); insertTableRecords(records, new_items);
if(!modified) modified = true; if(!modified) modified = true;
@ -318,7 +318,7 @@ void CEditorWorksheet::extractWords(QString filename, QString columnId, IWordLis
for(i = 0; i < allWords.size(); i++) for(i = 0; i < allWords.size(); i++)
{ {
string keyName = allWords[i]; string keyName = allWords[i];
QList<QTableWidgetItem*> search_results = table_editor->findItems(tr(keyName.c_str()), Qt::MatchExactly); QList<QTableWidgetItem*> search_results = table_editor->findItems(QString(keyName.c_str()), Qt::MatchExactly);
if(search_results.size() == 0) if(search_results.size() == 0)
{ {
int knPos = 0, nPos = 0; int knPos = 0, nPos = 0;
@ -332,8 +332,8 @@ void CEditorWorksheet::extractWords(QString filename, QString columnId, IWordLis
} }
QList<QString> records; QList<QString> records;
records.push_back(tr(keyName.c_str())); records.push_back(QString(keyName.c_str()));
records.push_back(QString("<GEN>") + tr(keyName.c_str())); records.push_back(QString("<GEN>") + QString(keyName.c_str()));
insertTableRecords(records, new_items); insertTableRecords(records, new_items);
if(!modified) modified = true; if(!modified) modified = true;
} }
@ -412,7 +412,7 @@ void CEditorWorksheet::mergeWorksheetFile(QString filename)
{ {
// search with the first column // search with the first column
ucstring rowId = wk_file.getData(i,colIndex); ucstring rowId = wk_file.getData(i,colIndex);
QList<QTableWidgetItem*> search_results = table_editor->findItems(tr(rowId.toString().c_str()), Qt::MatchExactly); QList<QTableWidgetItem*> search_results = table_editor->findItems(QString(rowId.toString().c_str()), Qt::MatchExactly);
if(search_results.size() == 0) if(search_results.size() == 0)
{ {
const int lastRow = table_editor->rowCount(); const int lastRow = table_editor->rowCount();

View file

@ -27,6 +27,7 @@ namespace TranslationManager
status = false; status = false;
} }
// Connection with the FTP Server. We retrieve the file list.
void CFtpSelection::ConnectButtonClicked() void CFtpSelection::ConnectButtonClicked()
{ {
conn = new QFtp(this); conn = new QFtp(this);
@ -51,6 +52,7 @@ namespace TranslationManager
} }
} }
// Get the user action.
void CFtpSelection::FtpCommandFinished(int, bool error) void CFtpSelection::FtpCommandFinished(int, bool error)
{ {
#ifndef QT_NO_CURSOR #ifndef QT_NO_CURSOR
@ -98,7 +100,7 @@ namespace TranslationManager
} }
} }
} }
// Make the file list with directories and files
void CFtpSelection::AddToList(const QUrlInfo &urlInfo) void CFtpSelection::AddToList(const QUrlInfo &urlInfo)
{ {
QTreeWidgetItem *item = new QTreeWidgetItem; QTreeWidgetItem *item = new QTreeWidgetItem;
@ -138,6 +140,7 @@ namespace TranslationManager
_ui.doneButton->setEnabled(true); _ui.doneButton->setEnabled(true);
} }
// Exit from a directory
void CFtpSelection::cdToParent() void CFtpSelection::cdToParent()
{ {
#ifndef QT_NO_CURSOR #ifndef QT_NO_CURSOR
@ -155,6 +158,7 @@ namespace TranslationManager
conn->list(); conn->list();
} }
// Done action
void CFtpSelection::DoneButtonClicked() void CFtpSelection::DoneButtonClicked()
{ {
QString fileName = _ui.fileList->currentItem()->text(0); QString fileName = _ui.fileList->currentItem()->text(0);

View file

@ -17,6 +17,7 @@ CSourceDialog::CSourceDialog(QWidget *parent): QDialog(parent)
_ui.listWidget->setSortingEnabled(false); _ui.listWidget->setSortingEnabled(false);
} }
// Insert options in the source dialog. Options like: from FTP Server, from Local directory etc.
void CSourceDialog::setSourceOptions(map<QListWidgetItem*,int> options) void CSourceDialog::setSourceOptions(map<QListWidgetItem*,int> options)
{ {
map<QListWidgetItem*,int>::iterator it; map<QListWidgetItem*,int>::iterator it;

View file

@ -51,8 +51,7 @@ CMainWindow::CMainWindow(QWidget *parent)
{ {
_ui.setupUi(this); _ui.setupUi(this);
_ui.mdiArea->closeAllSubWindows(); _ui.mdiArea->closeAllSubWindows();
connect(_ui.mdiArea, SIGNAL(subWindowActivated(QMdiSubWindow*)),this, SLOT(activeSubWindowChanged()));
windowMapper = new QSignalMapper(this); windowMapper = new QSignalMapper(this);
connect(windowMapper, SIGNAL(mapped(QWidget*)), this, SLOT(setActiveSubWindow(QWidget*))); connect(windowMapper, SIGNAL(mapped(QWidget*)), this, SLOT(setActiveSubWindow(QWidget*)));
@ -66,6 +65,7 @@ CMainWindow::CMainWindow(QWidget *parent)
} }
// Functions that will insert the plugin buttons
void CMainWindow::createToolbar() void CMainWindow::createToolbar()
{ {
// File menu // File menu
@ -96,27 +96,27 @@ void CMainWindow::createToolbar()
QAction *extractItemWordsAct = wordsExtractionMenu->addAction("&Extract item words..."); QAction *extractItemWordsAct = wordsExtractionMenu->addAction("&Extract item words...");
extractItemWordsAct->setStatusTip(tr("Extract item words")); extractItemWordsAct->setStatusTip(tr("Extract item words"));
connect(extractItemWordsAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map())); connect(extractItemWordsAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map()));
wordsExtractionMapper->setMapping(extractItemWordsAct, tr(Constants::WK_ITEM)); wordsExtractionMapper->setMapping(extractItemWordsAct, QString(Constants::WK_ITEM));
// extract creature words // extract creature words
QAction *extractCreatureWordsAct = wordsExtractionMenu->addAction("&Extract creature words..."); QAction *extractCreatureWordsAct = wordsExtractionMenu->addAction("&Extract creature words...");
extractCreatureWordsAct->setStatusTip(tr("Extract creature words")); extractCreatureWordsAct->setStatusTip(tr("Extract creature words"));
connect(extractCreatureWordsAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map())); connect(extractCreatureWordsAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map()));
wordsExtractionMapper->setMapping(extractCreatureWordsAct, tr(Constants::WK_CREATURE)); wordsExtractionMapper->setMapping(extractCreatureWordsAct, QString(Constants::WK_CREATURE));
// extract sbrick words // extract sbrick words
QAction *extractSbrickWordsAct = wordsExtractionMenu->addAction("&Extract sbrick words..."); QAction *extractSbrickWordsAct = wordsExtractionMenu->addAction("&Extract sbrick words...");
extractSbrickWordsAct->setStatusTip(tr("Extract sbrick words")); extractSbrickWordsAct->setStatusTip(tr("Extract sbrick words"));
connect(extractSbrickWordsAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map())); connect(extractSbrickWordsAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map()));
wordsExtractionMapper->setMapping(extractSbrickWordsAct, tr(Constants::WK_SBRICK)); wordsExtractionMapper->setMapping(extractSbrickWordsAct, QString(Constants::WK_SBRICK));
// extract sphrase words // extract sphrase words
QAction *extractSphraseWordsAct = wordsExtractionMenu->addAction("&Extract sphrase words..."); QAction *extractSphraseWordsAct = wordsExtractionMenu->addAction("&Extract sphrase words...");
extractSphraseWordsAct->setStatusTip(tr("Extract sphrase words")); extractSphraseWordsAct->setStatusTip(tr("Extract sphrase words"));
connect(extractSphraseWordsAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map())); connect(extractSphraseWordsAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map()));
wordsExtractionMapper->setMapping(extractSphraseWordsAct, tr(Constants::WK_SPHRASE)); wordsExtractionMapper->setMapping(extractSphraseWordsAct, QString(Constants::WK_SPHRASE));
// extract place and region names // extract place and region names
QAction *extractPlaceNamesAct = wordsExtractionMenu->addAction("&Extract place names..."); QAction *extractPlaceNamesAct = wordsExtractionMenu->addAction("&Extract place names...");
extractPlaceNamesAct->setStatusTip(tr("Extract place names from primitives")); extractPlaceNamesAct->setStatusTip(tr("Extract place names from primitives"));
connect(extractPlaceNamesAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map())); connect(extractPlaceNamesAct, SIGNAL(triggered()), wordsExtractionMapper, SLOT(map()));
wordsExtractionMapper->setMapping(extractPlaceNamesAct, tr(Constants::WK_PLACE)); wordsExtractionMapper->setMapping(extractPlaceNamesAct, QString(Constants::WK_PLACE));
// Merge options // Merge options
// ----------------------------- // -----------------------------
QAction *mergeSingleFileAct = wordsExtractionMenu->addAction("&Merge worksheet file..."); QAction *mergeSingleFileAct = wordsExtractionMenu->addAction("&Merge worksheet file...");
@ -140,24 +140,23 @@ void CMainWindow::createToolbar()
_ui.toolBar->addAction(redoAction); _ui.toolBar->addAction(redoAction);
} }
// Update the toolbar if the editor is worksheet
void CMainWindow::updateToolbar(QMdiSubWindow *window) void CMainWindow::updateToolbar(QMdiSubWindow *window)
{ {
if(_ui.mdiArea->subWindowList().size() > 0) if(_ui.mdiArea->subWindowList().size() > 0)
if(QString(window->widget()->metaObject()->className()) == "QTableWidget") // Sheet Editor if(QString(window->widget()->metaObject()->className()) == "QTableWidget") // Sheet Editor
{ {
//setContextMenuPolicy(Qt::ActionsContextMenu);
QAction *insertRowAct = new QAction(tr("Insert new row"), this); QAction *insertRowAct = new QAction(tr("Insert new row"), this);
connect(insertRowAct, SIGNAL(triggered()), window, SLOT(insertRow())); connect(insertRowAct, SIGNAL(triggered()), window, SLOT(insertRow()));
//addAction(insertRowAct);
windowMenu->addAction(insertRowAct); windowMenu->addAction(insertRowAct);
QAction *deleteRowAct = new QAction(tr("Delete row"), this); QAction *deleteRowAct = new QAction(tr("Delete row"), this);
connect(deleteRowAct, SIGNAL(triggered()), window, SLOT(deleteRow())); connect(deleteRowAct, SIGNAL(triggered()), window, SLOT(deleteRow()));
//addAction(deleteRowAct);
windowMenu->addAction(deleteRowAct); windowMenu->addAction(deleteRowAct);
} }
} }
// Set the active subwindow
void CMainWindow::setActiveSubWindow(QWidget* window) void CMainWindow::setActiveSubWindow(QWidget* window)
{ {
if (!window) if (!window)
@ -168,13 +167,11 @@ void CMainWindow::setActiveSubWindow(QWidget* window)
_ui.mdiArea->setActiveSubWindow(cwindow); _ui.mdiArea->setActiveSubWindow(cwindow);
} }
void CMainWindow::activeSubWindowChanged() // Functions for updating the windows list
{
}
void CMainWindow::updateWindowsList() void CMainWindow::updateWindowsList()
{ {
if(_ui.mdiArea->activeSubWindow())
{
windowMenu->clear(); windowMenu->clear();
QMdiSubWindow *current_window = _ui.mdiArea->activeSubWindow(); QMdiSubWindow *current_window = _ui.mdiArea->activeSubWindow();
QList<QMdiSubWindow*> subWindows = _ui.mdiArea->subWindowList(); QList<QMdiSubWindow*> subWindows = _ui.mdiArea->subWindowList();
@ -186,9 +183,9 @@ void CMainWindow::updateWindowsList()
QString window_file = QFileInfo(subWindows.at(i)->windowFilePath()).fileName(); QString window_file = QFileInfo(subWindows.at(i)->windowFilePath()).fileName();
QString action_text; QString action_text;
if (i < 9) { if (i < 9) {
action_text = tr("&%1 %2").arg(i + 1).arg(window_file); action_text = QString("&%1 %2").arg(i + 1).arg(window_file);
} else { } else {
action_text = tr("%1 %2").arg(i + 1).arg(window_file); action_text = QString("%1 %2").arg(i + 1).arg(window_file);
} }
QAction *action = new QAction(action_text, this); QAction *action = new QAction(action_text, this);
action->setCheckable(true); action->setCheckable(true);
@ -196,9 +193,12 @@ void CMainWindow::updateWindowsList()
connect(action, SIGNAL(triggered()), windowMapper, SLOT(map())); connect(action, SIGNAL(triggered()), windowMapper, SLOT(map()));
windowMenu->addAction(action); windowMenu->addAction(action);
windowMapper->setMapping(action, subWindows.at(i)); windowMapper->setMapping(action, subWindows.at(i));
} }
}
} }
// Open signal
void CMainWindow::open() void CMainWindow::open()
{ {
QSettings *settings = Core::ICore::instance()->settings(); QSettings *settings = Core::ICore::instance()->settings();
@ -243,6 +243,7 @@ void CMainWindow::open()
} }
// Open a work file. You can set the directory for work file in the settings dialog
void CMainWindow::openWorkFile(QString file) void CMainWindow::openWorkFile(QString file)
{ {
QFileInfo* file_path = new QFileInfo(QString("%1/%2").arg(work_path).arg(file)); QFileInfo* file_path = new QFileInfo(QString("%1/%2").arg(work_path).arg(file));
@ -262,6 +263,7 @@ void CMainWindow::openWorkFile(QString file)
} }
// Save signal
void CMainWindow::save() void CMainWindow::save()
{ {
if(_ui.mdiArea->subWindowList().size() > 0) if(_ui.mdiArea->subWindowList().size() > 0)
@ -277,6 +279,7 @@ void CMainWindow::save()
} }
} }
// Save as signal
void CMainWindow::saveAs() void CMainWindow::saveAs()
{ {
QString file_name; QString file_name;
@ -298,6 +301,7 @@ void CMainWindow::saveAs()
} }
} }
// This function is needed by extraction.
void CMainWindow::initializeSettings(bool georges = false) void CMainWindow::initializeSettings(bool georges = false)
{ {
if(georges == true && initialize_settings["georges"] == false) if(georges == true && initialize_settings["georges"] == false)
@ -327,6 +331,7 @@ void CMainWindow::initializeSettings(bool georges = false)
} }
// Extracting words
void CMainWindow::extractWords(QString typeq) void CMainWindow::extractWords(QString typeq)
{ {
if(verifySettings() == true) if(verifySettings() == true)
@ -396,6 +401,7 @@ void CMainWindow::extractWords(QString typeq)
} }
// Extract bot names from primitives
void CMainWindow::extractBotNames() void CMainWindow::extractBotNames()
{ {
if(verifySettings() == true) if(verifySettings() == true)
@ -425,6 +431,7 @@ void CMainWindow::extractBotNames()
} }
} }
// Merge the content for 2 worksheet files
void CMainWindow::mergeSingleFile() void CMainWindow::mergeSingleFile()
{ {
CEditor* editor_window = qobject_cast<CEditor*>(_ui.mdiArea->currentSubWindow()); CEditor* editor_window = qobject_cast<CEditor*>(_ui.mdiArea->currentSubWindow());
@ -485,7 +492,7 @@ void CMainWindow::mergeSingleFile()
current_window->mergeWorksheetFile(file_name); current_window->mergeWorksheetFile(file_name);
} else { } else {
QErrorMessage error; QErrorMessage error;
error.showMessage(QString("The file: %1 has different columns from the current file in editor.").arg(file_name)); error.showMessage(tr("The file: %1 has different columns from the current file in editor.").arg(file_name));
error.exec(); error.exec();
} }
if(dialog->selected_item == ftp_item) if(dialog->selected_item == ftp_item)
@ -493,13 +500,14 @@ void CMainWindow::mergeSingleFile()
if(!ftp_dialog->file->remove()) if(!ftp_dialog->file->remove())
{ {
QErrorMessage error; QErrorMessage error;
error.showMessage(QString("Please remove the file from ftp server manually. The file is located on the same directory with OVQT application.")); error.showMessage(tr("Please remove the file from ftp server manually. The file is located on the same directory with OVQT application."));
error.exec(); error.exec();
} }
} }
} }
// Read the settings from QSettings
void CMainWindow::readSettings() void CMainWindow::readSettings()
{ {
QSettings *settings = Core::ICore::instance()->settings(); QSettings *settings = Core::ICore::instance()->settings();
@ -517,6 +525,7 @@ void CMainWindow::readSettings()
settings->endGroup(); settings->endGroup();
} }
// Verify the settings
bool CMainWindow::verifySettings() bool CMainWindow::verifySettings()
{ {
bool count_errors = false; bool count_errors = false;
@ -533,6 +542,36 @@ bool CMainWindow::verifySettings()
} }
bool CCoreListener::closeMainWindow() const
{
bool okToClose = true;
Q_FOREACH(QMdiSubWindow *subWindow, m_MainWindow->_ui.mdiArea->subWindowList())
{
CEditor *currentEditor = qobject_cast<CEditor*>(subWindow);
if(subWindow->isWindowModified())
{
QMessageBox msgBox;
msgBox.setText(tr("The document has been modified ( %1 ).").arg(currentEditor->windowFilePath()));
msgBox.setInformativeText("Do you want to save your changes?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
if(ret == QMessageBox::Save)
{
currentEditor->save();
}
else if(ret == QMessageBox::Cancel)
{
okToClose = false;
break;
}
}
}
return okToClose;
}
// Helper functions
CEditor *CMainWindow::getEditorByWindowFilePath(const QString &fileName) CEditor *CMainWindow::getEditorByWindowFilePath(const QString &fileName)
{ {
Q_FOREACH(QMdiSubWindow *subWindow, _ui.mdiArea->subWindowList()) Q_FOREACH(QMdiSubWindow *subWindow, _ui.mdiArea->subWindowList())
@ -604,34 +643,6 @@ bool CMainWindow::isPhraseEditor(QString filename)
} }
} }
bool CCoreListener::closeMainWindow() const
{
bool okToClose = true;
Q_FOREACH(QMdiSubWindow *subWindow, m_MainWindow->_ui.mdiArea->subWindowList())
{
CEditor *currentEditor = qobject_cast<CEditor*>(subWindow);
if(subWindow->isWindowModified())
{
QMessageBox msgBox;
msgBox.setText(tr("The document has been modified ( %1 ).").arg(currentEditor->windowFilePath()));
msgBox.setInformativeText("Do you want to save your changes?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
if(ret == QMessageBox::Save)
{
currentEditor->save();
}
else if(ret == QMessageBox::Cancel)
{
okToClose = false;
break;
}
}
}
return okToClose;
}
} /* namespace Plugin */ } /* namespace Plugin */