Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-updates-src > by-pkgid > 9ff8302d94b7f0bf04915b7dac38706b > files > 3

kdepim4-4.4.11.1-2.1.mga1.src.rpm

Index: kmail/kmkernel.cpp
===================================================================
--- kmail/kmkernel.cpp
+++ kmail/kmkernel.cpp	2011-04-10 18:32:39.486773695 -0300
@@ -1377,7 +1377,7 @@
 }
 
 //-----------------------------------------------------------------------------
-void KMKernel::initFolders(KSharedConfig::Ptr cfg)
+void KMKernel::initFolders(KSharedConfig::Ptr cfg, bool _firstMessage)
 {
   QString name;
   KConfigGroup group(cfg,"General");
@@ -1388,13 +1388,15 @@
   // in the base folder directory.
   //if (name.isEmpty()) name = getenv("MAIL");
 
-  if (name.isEmpty()) name = I18N_NOOP("inbox");
+  bool inboxIsEmpty = name.isEmpty();
+  if (inboxIsEmpty) name = I18N_NOOP("inbox");
 
   the_inboxFolder  = (KMFolder*)the_folderMgr->findOrCreate(name);
 
   if ( !the_inboxFolder->canAccess() ) {
     emergencyExit( i18n("You do not have read/write permission to your inbox folder.") );
   }
+  if (_firstMessage) dbusAddMessage(name, firstMessage());
 
   the_inboxFolder->setSystemFolder(true);
   if ( the_inboxFolder->userWhoField().isEmpty() )
@@ -1523,7 +1525,11 @@
            SLOT( showMainWin() ) );
 #endif
 
+  QDir dirMail = QDir::home();
+  bool _firstMessage = the_firstStart && !QFile("/etc/sysconfig/oem").exists();
+
   the_undoStack     = new UndoStack(20);
+
   the_folderMgr     = new KMFolderMgr(foldersPath);
   the_imapFolderMgr = new KMFolderMgr( KMFolderImap::cacheLocation(), KMImapDir);
   the_dimapFolderMgr = new KMFolderMgr( KMFolderCachedImap::cacheLocation(), KMDImapDir);
@@ -1538,7 +1544,7 @@
   the_popFilterMgr     = new KMFilterMgr(true);
   the_filterActionDict = new KMFilterActionDict;
 
-  initFolders(cfg);
+  initFolders(cfg,_firstMessage);
   the_acctMgr->readConfig();
   the_filterMgr->readConfig();
   the_popFilterMgr->readConfig();
@@ -1576,6 +1582,30 @@
   mBackgroundTasksTimer->start( 5 * 60000 ); // 5 minutes, singleshot
 #endif
 }
+QString KMKernel::firstMessage()
+{
+	QString first( "/usr/share/mga/mail/text/mail-%1" );
+       	QString language = QString::fromLocal8Bit(getenv("LANGUAGE")) ;
+	QStringList langList = language.split(":");
+	bool languageFound = false;
+	for ( QStringList::Iterator it = langList.begin(); it != langList.end(); ++it )
+	{
+		 QString tmpFile = first.arg(*it);
+		 if( QFile::exists(tmpFile))
+		 {
+			 first = tmpFile;
+			 languageFound = true;
+			 break;
+		 }
+	}
+	if ( !languageFound )
+	{
+		 first = QString("/usr/share/mga/mail/text/mail-en" );
+		 if( !QFile::exists(first))
+			 first="";
+	}
+	 return first;
+}
 
 void KMKernel::readConfig()
 {
Index: kmail/kmkernel.h
===================================================================
--- kmail/kmkernel.h
+++ kmail/kmkernel.h	2011-04-10 18:35:08.341662221 -0300
@@ -271,7 +271,7 @@
   void cleanupImapFolders();
   void testDir(const char *_name);
   void recoverDeadLetters();
-  void initFolders(KSharedConfig::Ptr cfg);
+  void initFolders(KSharedConfig::Ptr cfg, bool _firstMessage = false);
   void closeAllKMailWindows();
   void cleanup(void);
   void quit();
@@ -329,6 +329,8 @@
   /** return the pointer to the identity manager */
   KPIMIdentities::IdentityManager *identityManager();
 
+  QString firstMessage();
+
   JobScheduler* jobScheduler() { return mJobScheduler; }
 
   QIndicate::Server *indicateServer() { return the_indicateServer; }