Index: branches/2.2/expressoMail1_2/inc/class.imap_functions.inc.php
===================================================================
--- branches/2.2/expressoMail1_2/inc/class.imap_functions.inc.php	(revision 3064)
+++ branches/2.2/expressoMail1_2/inc/class.imap_functions.inc.php	(revision 3071)
@@ -23,4 +23,5 @@
 	var $imap_options = '';
 	var $functions;
+	var $prefs;
 	var $foldersLimit;
 	var $imap_sentfolder;
@@ -36,4 +37,6 @@
 		$this->imap_sentfolder = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']   ? $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']   : str_replace("*","", $this->functions->getLang("Sent"));
 		$this->has_cid = false;
+		$this->prefs = $_SESSION['phpgw_info']['user']['preferences']['expressoMail'];
+
 
 		if ($_SESSION['phpgw_info']['expressomail']['email_server']['imapTLSEncryption'] == 'yes')
@@ -115,21 +118,23 @@
 
 
-
-		/*Como eu preciso do atributo Importance para saber se o email é
-		 * importante ou não, uso abaixo a função imap_fetchheader e busco
-		 * o atributo importance nela. Isso faz com que eu acesse o cabeçalho
-		 * duas vezes e de duas formas diferentes, mas em contrapartida, eu
-		 * não preciso reimplementar o método utilizando o fetchheader.
-		 * Como as mensagens são renderizadas em um número pequeno por vez,
-		 * não parece ter perda considerável de performance.
-		 */
-
-                $tempHeader = imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number));
-		$flag = preg_match('/importance *: *(.*)\r/i', $tempHeader, $importance);
-
-                // Reimplemenatado código para identificação dos e-mails assinados e cifrados
-                // no método getMessageType(). Mário César Kolling <mario.kolling@serpro.gov.br>
-                $head_array['ContentType'] = $this->getMessageType($msg_number, $tempHeader);
-		$head_array['Importance'] = $flag==0?"Normal":$importance[1];
+		if ($this->prefs['use_important_flag'] || $this->prefs['use_signature_digital'] )
+		{
+			/*Como eu preciso do atributo Importance para saber se o email é
+			 * importante ou não, uso abaixo a função imap_fetchheader e busco
+			 * o atributo importance nela. Isso faz com que eu acesse o cabeçalho
+			 * duas vezes e de duas formas diferentes, mas em contrapartida, eu
+			 * não preciso reimplementar o método utilizando o fetchheader.
+			 * Como as mensagens são renderizadas em um número pequeno por vez,
+			 * não parece ter perda considerável de performance.
+			 */
+
+			$tempHeader = imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number));
+			$flag = preg_match('/importance *: *(.*)\r/i', $tempHeader, $importance);
+
+			// Reimplemenatado código para identificação dos e-mails assinados e cifrados
+			// no método getMessageType(). Mário César Kolling <mario.kolling@serpro.gov.br>
+			$head_array['ContentType'] = $this->getMessageType($msg_number, $tempHeader);
+			$head_array['Importance'] = $flag==0?"Normal":$importance[1];
+		}
 
 
@@ -148,10 +153,6 @@
 		$head_array['Deleted'] = $header->Deleted;
 		$head_array['Flagged'] = $header->Flagged;
-
 		$head_array['msg_number'] = $msg_number;
-		//$head_array['msg_folder'] = $folder;
-		
 		$head_array['udate'] = $header->udate;
-		$head_array['aux_date'] = $date_msg; //Auxiliar apenas para mensagens locais.
 
 		$from = $header->from;
Index: branches/2.2/expressoMail1_2/js/draw_api.js
===================================================================
--- branches/2.2/expressoMail1_2/js/draw_api.js	(revision 3069)
+++ branches/2.2/expressoMail1_2/js/draw_api.js	(revision 3071)
@@ -804,10 +804,10 @@
 
 		if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){
-			if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag)))
+			if ((headers_msgs.Flagged == 'F') || parseInt(preferences.use_important_flag) && headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 )
 				add_className(tr_element, 'flagged_msg');
 			add_className(tr_element, 'tr_msg_unread');
 		}
 		else{
-			if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag)))
+			if ((headers_msgs.Flagged == 'F') || parseInt(preferences.use_important_flag) && headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 )
 				add_className(tr_element,'flagged_msg');
 		}
@@ -897,5 +897,5 @@
 		td_element23.id = "td_message_important_"+headers_msgs.msg_number;
 
-		if (headers_msgs.Flagged == 'F' || (headers_msgs.Importance.toLowerCase().indexOf("high") != -1 && parseInt(preferences.use_important_flag)))
+		if (headers_msgs.Flagged == 'F' || (parseInt(preferences.use_important_flag) && headers_msgs.Importance.toLowerCase().indexOf("high") != -1 ))
 		{
 			td_element23.innerHTML = "<img src ='templates/"+template+"/images/important.gif' title='"+get_lang('Important')+"'>";
