From 741fee935efd8bf7c009d152b473b8a93a3808db Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Mon, 21 Jul 2014 04:11:53 +0200 Subject: [PATCH] Mark translated item with green, untranslated ones with red. --- .../translation_manager/uxt_editor.cpp | 51 +++++++++++++++++++ .../plugins/translation_manager/uxt_editor.h | 2 + 2 files changed, 53 insertions(+) diff --git a/code/studio/src/plugins/translation_manager/uxt_editor.cpp b/code/studio/src/plugins/translation_manager/uxt_editor.cpp index fcd6e74cf..d6e7c5fa0 100644 --- a/code/studio/src/plugins/translation_manager/uxt_editor.cpp +++ b/code/studio/src/plugins/translation_manager/uxt_editor.cpp @@ -55,6 +55,16 @@ QString getLang( const QString &fn ) namespace TranslationManager { +void markItemTranslated( QTableWidgetItem *item ) +{ + item->setBackground( QColor::fromRgb( 126, 247, 134 ) ); +} + +void markItemUntranslated( QTableWidgetItem *item ) +{ + item->setBackground( QColor::fromRgb( 247, 126, 126 ) ); +} + class UXTEditorPvt { public: @@ -139,6 +149,17 @@ void UXTEditor::open( QString filename ) d_ptr->t->setItem( i, 0, name ); d_ptr->t->setItem( i, 1, text1 ); + + if( ( info.HashValue != 0 ) && !d_ptr->loadedFromWK ) + { + markItemTranslated( name ); + markItemTranslated( text1 ); + } + else + { + markItemUntranslated( name ); + markItemUntranslated( text1 ); + } ++itr; i++; @@ -317,6 +338,8 @@ void UXTEditor::onCellChanged( int row, int column ) info.Text2 = item->text().toUtf8().constData(); setWindowModified( true ); + + markRowTranslated( row ); } void UXTEditor::markTranslated() @@ -332,6 +355,8 @@ void UXTEditor::markTranslated() info.Text2 = info.Text; setWindowModified( true ); + + markRowTranslated( r ); } void UXTEditor::markUntranslated() @@ -346,6 +371,8 @@ void UXTEditor::markUntranslated() info.HashValue = 0; setWindowModified( true ); + + markRowUntranslated( r ); } void UXTEditor::setHeaderText( const QString &id, const QString &text ) @@ -366,4 +393,28 @@ void UXTEditor::blockTableSignals( bool block ) connect( d_ptr->t, SIGNAL( cellChanged( int, int ) ), this, SLOT( onCellChanged( int, int ) ) ); } +void UXTEditor::markRowTranslated( int row ) +{ + blockTableSignals( true ); + + QTableWidgetItem *item1 = d_ptr->t->item( row, 0 ); + QTableWidgetItem *item2 = d_ptr->t->item( row, 1 ); + markItemTranslated( item1 ); + markItemTranslated( item2 ); + + blockTableSignals( false ); +} + +void UXTEditor::markRowUntranslated( int row ) +{ + blockTableSignals( true ); + + QTableWidgetItem *item1 = d_ptr->t->item( row, 0 ); + QTableWidgetItem *item2 = d_ptr->t->item( row, 1 ); + markItemUntranslated( item1 ); + markItemUntranslated( item2 ); + + blockTableSignals( false ); +} + } diff --git a/code/studio/src/plugins/translation_manager/uxt_editor.h b/code/studio/src/plugins/translation_manager/uxt_editor.h index 00716ee2f..b0f977709 100644 --- a/code/studio/src/plugins/translation_manager/uxt_editor.h +++ b/code/studio/src/plugins/translation_manager/uxt_editor.h @@ -53,6 +53,8 @@ private Q_SLOTS: private: void setHeaderText( const QString &id, const QString &text ); void blockTableSignals( bool block = false ); + void markRowTranslated( int row ); + void markRowUntranslated( int row ); UXTEditorPvt *d_ptr; };