static gboolean _selected_msg_marked_as (ModestWindow *win, TnyHeaderFlags mask, gboolean opposite);
static gboolean _selected_folder_not_writeable (ModestMainWindow *win);
static gboolean _selected_folder_is_any_of_type (ModestMainWindow *win, TnyFolderType types[], guint ntypes);
+static gboolean _selected_folder_is_root_or_inbox (ModestMainWindow *win);
static gboolean _selected_folder_is_root (ModestMainWindow *win);
static gboolean _selected_folder_is_empty (ModestMainWindow *win);
static gboolean _msg_download_in_progress (ModestMsgViewWindow *win);
TNY_ACCOUNT (parent_folder)))
return FALSE;
else {
- /* If it's the MMC root folder then dim it */
- if (!strcmp (tny_account_get_id (TNY_ACCOUNT (parent_folder)), MODEST_MMC_ACCOUNT_ID)) {
- dimmed = TRUE;
- } else {
- const gchar *proto_str = tny_account_get_proto (TNY_ACCOUNT (parent_folder));
- /* If it's POP then dim */
- dimmed = (modest_protocol_info_get_transport_store_protocol (proto_str) ==
- MODEST_PROTOCOL_STORE_POP) ? TRUE : FALSE;
- }
+ const gchar *proto_str = tny_account_get_proto (TNY_ACCOUNT (parent_folder));
+ /* If it's POP then dim */
+ dimmed = (modest_protocol_info_get_transport_store_protocol (proto_str) ==
+ MODEST_PROTOCOL_STORE_POP) ? TRUE : FALSE;
}
} else {
/* TODO: the specs say that only one level of subfolder is allowed, is this true ? */
if (!dimmed)
dimmed = _selected_folder_not_writeable (MODEST_MAIN_WINDOW(win));
if (!dimmed)
+ dimmed = _selected_folder_is_root_or_inbox (MODEST_MAIN_WINDOW(win));
+
+ return dimmed;
+}
+
+gboolean
+modest_ui_dimming_rules_on_sort (ModestWindow *win, gpointer user_data)
+{
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE);
+
+ /* Check dimmed rule */
+ if (!dimmed)
dimmed = _selected_folder_is_root (MODEST_MAIN_WINDOW(win));
return dimmed;
+
}
gboolean
if (!dimmed)
dimmed = _selected_folder_not_writeable (MODEST_MAIN_WINDOW(win));
if (!dimmed)
- dimmed = _selected_folder_is_root (MODEST_MAIN_WINDOW(win));
+ dimmed = _selected_folder_is_root_or_inbox (MODEST_MAIN_WINDOW(win));
return dimmed;
}
}
static gboolean
-_selected_folder_is_root (ModestMainWindow *win)
+_selected_folder_is_root_or_inbox (ModestMainWindow *win)
{
TnyFolderType types[2];
gboolean result = FALSE;
return result;
}
+static gboolean
+_selected_folder_is_root (ModestMainWindow *win)
+{
+ TnyFolderType types[1];
+ gboolean result = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE);
+
+ types[0] = TNY_FOLDER_TYPE_ROOT;
+
+ /* Check folder type */
+ result = _selected_folder_is_any_of_type (win, types, 1);
+
+ return result;
+}
+
static gboolean
_selected_folder_is_empty (ModestMainWindow *win)