[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    PATCH: Translation for folder names
From:       Michael Haeckel <Michael () Haeckel ! Net>
Date:       2000-09-30 11:50:07
[Download RAW message or body]

Hi,

the attached patch translates the system folder names in the search dialog 
and in the filter dialog.

Since there doesn't seem to be a primary developer besides me with a i18n 
package installed, it would be nice if someone else on the list could verify 
that it does not break anything.

Regards,
Michael Häckel
["translate-folders.diff" (text/plain)]

diff -u kmail/kmfilteraction.cpp kmail.new/kmfilteraction.cpp
--- kmail/kmfilteraction.cpp	Sun Aug  6 19:01:55 2000
+++ kmail.new/kmfilteraction.cpp	Sat Sep 30 13:38:40 2000
@@ -136,7 +136,7 @@
 
   gfolders.clear();
 
-  kernel->folderMgr()->createFolderList( &str, &gfolders );
+  kernel->folderMgr()->createI18nFolderList( &str, &gfolders );
   cbx = aParent->createFolderCombo( &str, &gfolders, mDest );
 
   return cbx;
diff -u kmail/kmfldsearch.cpp kmail.new/kmfldsearch.cpp
--- kmail/kmfldsearch.cpp	Fri Aug 11 17:44:24 2000
+++ kmail.new/kmfldsearch.cpp	Sat Sep 30 12:43:06 2000
@@ -144,7 +144,7 @@
  QComboBox* cbx = new QComboBox(false, this);
  QStringList str;
  
- kernel->folderMgr()->createFolderList( &str, &folders );
+ kernel->folderMgr()->createI18nFolderList( &str, &folders );
  cbx->setFixedHeight(cbx->sizeHint().height());
  
  cbx->insertItem(i18n("<Search all folders>"));
@@ -229,7 +229,8 @@
   assert(!aFld.isNull());
   
   mBtnSearch->setText("Stop");
-  mSearchFolder=aFld->name();
+  if (aFld->isSystemFolder()) mSearchFolder = i18n(aFld->name());
+    else mSearchFolder = aFld->name();
   kapp->processEvents();
   if (aFld->open() != 0)
   {
@@ -247,7 +248,7 @@
 			      msg->subject(), 
 			      msg->from(),
 			      msg->dateIsoStr(),
-			      aFld->name(),
+			      mSearchFolder,
 			      QString("%1").arg(i),
 			      QString("%1").arg(fldNum)
 			      );
@@ -326,7 +327,7 @@
   else {
     QValueList<QGuardedPtr<KMFolder> > folders;
     QStringList str;
-    kernel->folderMgr()->createFolderList( &str, &folders );
+    kernel->folderMgr()->createI18nFolderList( &str, &folders );
     if (str[mCbxFolders->currentItem()-1] == mCbxFolders->currentText()) {
       searchInFolder(*folders.at(mCbxFolders->currentItem()-1),
 		     mCbxFolders->currentItem()-1);
diff -u kmail/kmfoldermgr.cpp kmail.new/kmfoldermgr.cpp
--- kmail/kmfoldermgr.cpp	Tue Aug 29 01:23:36 2000
+++ kmail.new/kmfoldermgr.cpp	Sat Sep 30 12:28:10 2000
@@ -280,6 +280,18 @@
 }
 
 //-----------------------------------------------------------------------------
+void KMFolderMgr::createI18nFolderList(QStringList *str, 
+				   QValueList<QGuardedPtr<KMFolder> > *folders)
+{
+  createFolderList( str, folders, 0, "" );
+  for (unsigned int i = 0; i < str->count() && i < folders->count(); i++)
+  {
+    if ((*folders->at(i))->isSystemFolder())
+      *str->at(i) = i18n(*str->at(i));
+  }
+}
+
+//-----------------------------------------------------------------------------
 void KMFolderMgr::createFolderList(QStringList *str, 
 				   QValueList<QGuardedPtr<KMFolder> > *folders,
 				   KMFolderDir *adir, 
diff -u kmail/kmfoldermgr.h kmail.new/kmfoldermgr.h
--- kmail/kmfoldermgr.h	Sun Jul  2 18:53:11 2000
+++ kmail.new/kmfoldermgr.h	Sat Sep 30 12:03:29 2000
@@ -61,6 +61,11 @@
   virtual void createFolderList( QStringList *str, 
 				 QValueList<QGuardedPtr<KMFolder> > *folders );
 
+  /** Create a list of formatted formatted folder labels and corresponding
+   folders. The system folder names are translated */
+  virtual void createI18nFolderList( QStringList *str, 
+				 QValueList<QGuardedPtr<KMFolder> > *folders );
+
 public slots:
   /** Compacts all folders (they know is it needed) */
   void compactAll();

_______________________________________________
Kmail Developers mailing list
Kmail@master.kde.org
http://master.kde.org/mailman/listinfo/kmail


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic