From: Murray Cumming Date: Tue, 12 Jun 2007 10:46:25 +0000 (+0000) Subject: 2007-06-12 Murray Cumming X-Git-Tag: git_migration_finished~3326 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=d2766e0125d45ae66dbe70b51eb90e3b0e493982 2007-06-12 Murray Cumming * src/modest-account-mgr.c: (on_key_change): Append to the list, not to NULL, so that the signals get all the keys. This should not actually change any behaviour because we currently update everything when anything changes. 2007-06-12 Murray Cumming * src/widgets/modest-folder-view.c: (text_cell_data), (icon_cell_data), (filter_row), (on_selection_changed), (cmp_rows), (find_inbox_iter): If tinymail tells us that the folder is a non-specific TNY_FOLDER_TYPE_NORMAL then do an extra check on the name. This causes the inbox to be selected at startup, fixing part of projects.maemo.org bug NB#56305. * src/modest-ui-dimming-rules.c: (modest_ui_dimming_rules_on_tools_smtp_servers): * src/modest-ui-dimming-rules.h: Added a callback function to dim the SMTP servers menu item. * src/maemo/modest-main-window-ui-dimming.h: Used the function, so that the SMTP Servers menu item is dimmed when there are no accounts, as a future version of the UI spec will require. This fixes projects.maemo.org bug NB#56305. pmo-trunk-r2178 --- diff --git a/ChangeLog2 b/ChangeLog2 index 46e2c5f..3620bb5 100644 --- a/ChangeLog2 +++ b/ChangeLog2 @@ -1,3 +1,28 @@ +2007-06-12 Murray Cumming + + * src/modest-account-mgr.c: (on_key_change): Append to the list, not to + NULL, so that the signals get all the keys. This should not actually + change any behaviour because we currently update everything when anything + changes. + +2007-06-12 Murray Cumming + + * src/widgets/modest-folder-view.c: (text_cell_data), + (icon_cell_data), (filter_row), (on_selection_changed), (cmp_rows), + (find_inbox_iter): If tinymail tells us that the folder is + a non-specific TNY_FOLDER_TYPE_NORMAL then do an extra check on the name. + This causes the inbox to be selected at startup, fixing part of + projects.maemo.org bug NB#56305. + + * src/modest-ui-dimming-rules.c: + (modest_ui_dimming_rules_on_tools_smtp_servers): + * src/modest-ui-dimming-rules.h: Added a callback function to dim + the SMTP servers menu item. + * src/maemo/modest-main-window-ui-dimming.h: Used the function, so + that the SMTP Servers menu item is dimmed when there are no accounts, + as a future version of the UI spec will require. This fixes + projects.maemo.org bug NB#56305. + 2007-06-11 Johannes Schmid * src/maemo/modest-maemo-utils.c: diff --git a/src/maemo/modest-account-view-window.c b/src/maemo/modest-account-view-window.c index 1a57a12..fc40ea2 100644 --- a/src/maemo/modest-account-view-window.c +++ b/src/maemo/modest-account-view-window.c @@ -229,7 +229,7 @@ on_edit_button_clicked (GtkWidget *button, ModestAccountViewWindow *self) const int response = gtk_dialog_run (GTK_DIALOG(note)); gtk_widget_destroy (note); if (response == GTK_RESPONSE_OK) { - modest_mail_operation_queue_cancel_all(queue);; + modest_mail_operation_queue_cancel_all(queue); } else return; diff --git a/src/maemo/modest-address-book.c b/src/maemo/modest-address-book.c index 315b442..0479a6d 100644 --- a/src/maemo/modest-address-book.c +++ b/src/maemo/modest-address-book.c @@ -603,7 +603,7 @@ modest_address_book_check_names (ModestRecptEditor *recpt_editor) if (!modest_text_utils_validate_recipient (address)) { if (strstr (address, "@") == NULL) { /* here goes searching in addressbook */ - gchar *contact_id = NULL;; + gchar *contact_id = NULL; GSList *resolved_addresses = NULL; result = resolve_address (address, &resolved_addresses, &contact_id); diff --git a/src/maemo/modest-maemo-global-settings-dialog.c b/src/maemo/modest-maemo-global-settings-dialog.c index 3df67d4..3eee973 100644 --- a/src/maemo/modest-maemo-global-settings-dialog.c +++ b/src/maemo/modest-maemo-global-settings-dialog.c @@ -268,8 +268,8 @@ create_updating_page (ModestMaemoGlobalSettingsDialog *self) size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); /* Size limit */ - ppriv->size_limit = hildon_number_editor_new (MSG_SIZE_MIN_VAL, MSG_SIZE_MAX_VAL);; - hildon_number_editor_set_value (HILDON_NUMBER_EDITOR (ppriv->size_limit), MSG_SIZE_DEF_VAL);; + ppriv->size_limit = hildon_number_editor_new (MSG_SIZE_MIN_VAL, MSG_SIZE_MAX_VAL); + hildon_number_editor_set_value (HILDON_NUMBER_EDITOR (ppriv->size_limit), MSG_SIZE_DEF_VAL); g_signal_connect (ppriv->size_limit, "range_error", G_CALLBACK (on_range_error), self); caption = hildon_caption_new (size_group, _("mcen_fi_advsetup_sizelimit"), diff --git a/src/maemo/modest-main-window-ui-dimming.h b/src/maemo/modest-main-window-ui-dimming.h index 82ca9a5..a397a9a 100644 --- a/src/maemo/modest-main-window-ui-dimming.h +++ b/src/maemo/modest-main-window-ui-dimming.h @@ -47,7 +47,7 @@ static const ModestDimmingEntry modest_main_window_menu_dimming_entries [] = { { "/MenuBar/ToolsMenu", NULL }, { "/MenuBar/ToolsMenu/ToolsSettingsMenu", NULL }, { "/MenuBar/ToolsMenu/ToolsAccountsMenu", NULL }, - { "/MenuBar/ToolsMenu/ToolsSMTPServersMenu", NULL }, + { "/MenuBar/ToolsMenu/ToolsSMTPServersMenu", G_CALLBACK(modest_ui_dimming_rules_on_tools_smtp_servers) }, { "/MenuBar/ToolsMenu/ToolsSendReceiveMainMenu", NULL }, { "/MenuBar/ToolsMenu/ToolsSendReceiveMainMenu/ToolsSendReceiveAllMenu", NULL }, { "/MenuBar/ToolsMenu/ToolsSendReceiveCancelSendingMenu", NULL }, diff --git a/src/modest-account-mgr.c b/src/modest-account-mgr.c index fbde6b3..44d7421 100644 --- a/src/modest-account-mgr.c +++ b/src/modest-account-mgr.c @@ -56,12 +56,12 @@ on_timeout_notify_changes (gpointer data) { ModestAccountMgr *self = MODEST_ACCOUNT_MGR (data); ModestAccountMgrPrivate *priv = MODEST_ACCOUNT_MGR_GET_PRIVATE (self); - + /* TODO: Also store the account names, and notify one list for each account, * if anything uses the account names. */ if (priv->changed_conf_keys) { - gchar *default_account = + gchar *default_account = modest_account_mgr_get_default_account (self); g_signal_emit (G_OBJECT(self), signals[ACCOUNT_CHANGED_SIGNAL], 0, @@ -80,8 +80,6 @@ on_timeout_notify_changes (gpointer data) static void on_key_change (ModestConf *conf, const gchar *key, ModestConfEvent event, gpointer user_data) { - /* printf("DEBUG: %s: key=%s\n", __FUNCTION__, key); */ - ModestAccountMgr *self = MODEST_ACCOUNT_MGR (user_data); ModestAccountMgrPrivate *priv = MODEST_ACCOUNT_MGR_GET_PRIVATE (self); @@ -92,7 +90,7 @@ on_key_change (ModestConf *conf, const gchar *key, ModestConfEvent event, gpoint /* Store the key for later notification in our timeout callback. * Notifying for every key change would cause unnecessary work: */ - priv->changed_conf_keys = g_slist_append (NULL, + priv->changed_conf_keys = g_slist_append (priv->changed_conf_keys, (gpointer) g_strdup (key)); } diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index a767534..98593ab 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -1330,7 +1330,7 @@ modest_ui_actions_on_item_not_found (ModestHeaderView *header_view,ModestItemTyp gtk_window_set_default_size (GTK_WINDOW(dialog), 300, 300); if (gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { -// modest_platform_connect_and_wait ();; +// modest_platform_connect_and_wait (); } } gtk_widget_destroy (dialog); diff --git a/src/modest-ui-dimming-rules.c b/src/modest-ui-dimming-rules.c index 83ca705..d81658a 100644 --- a/src/modest-ui-dimming-rules.c +++ b/src/modest-ui-dimming-rules.c @@ -469,6 +469,16 @@ modest_ui_dimming_rules_on_select_all (ModestWindow *win, gpointer user_data) } +gboolean modest_ui_dimming_rules_on_tools_smtp_servers (ModestWindow *win, gpointer user_data) +{ + const gboolean dimmed = + !modest_account_mgr_has_accounts(modest_runtime_get_account_mgr(), + TRUE); + + return dimmed; +} + + /* *********************** static utility functions ******************** */ static gboolean diff --git a/src/modest-ui-dimming-rules.h b/src/modest-ui-dimming-rules.h index 9301eeb..1f6a127 100644 --- a/src/modest-ui-dimming-rules.h +++ b/src/modest-ui-dimming-rules.h @@ -57,5 +57,7 @@ gboolean modest_ui_dimming_rules_on_paste_msgs (ModestWindow *win, gpointer user gboolean modest_ui_dimming_rules_on_delete_msgs (ModestWindow *win, gpointer user_data); gboolean modest_ui_dimming_rules_on_select_all (ModestWindow *win, gpointer user_data); +gboolean modest_ui_dimming_rules_on_tools_smtp_servers (ModestWindow *win, gpointer user_data); + G_END_DECLS #endif diff --git a/src/widgets/modest-folder-view.c b/src/widgets/modest-folder-view.c index 0cf01ef..fe8fad9 100644 --- a/src/widgets/modest-folder-view.c +++ b/src/widgets/modest-folder-view.c @@ -235,8 +235,9 @@ text_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer, ModestFolderViewPrivate *priv; GObject *rendobj; gchar *fname = NULL; - gint unread, all; - TnyFolderType type; + gint unread = 0; + gint all = 0; + TnyFolderType type = TNY_FOLDER_TYPE_UNKNOWN; GObject *instance = NULL; g_return_if_fail (column); @@ -269,11 +270,11 @@ text_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer, gint number = 0; if (modest_tny_folder_is_local_folder (TNY_FOLDER (instance))) { - TnyFolderType type; - type = modest_tny_folder_get_local_folder_type (TNY_FOLDER (instance)); - if (type != TNY_FOLDER_TYPE_UNKNOWN) { + TnyFolderType folder_type + = modest_tny_folder_get_local_folder_type (TNY_FOLDER (instance)); + if (folder_type != TNY_FOLDER_TYPE_UNKNOWN) { g_free (fname); - fname = g_strdup(modest_local_folder_info_get_type_display_name (type)); + fname = g_strdup(modest_local_folder_info_get_type_display_name (folder_type)); } } @@ -334,10 +335,10 @@ icon_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer, { GObject *rendobj = NULL, *instance = NULL; GdkPixbuf *pixbuf = NULL; - TnyFolderType type; + TnyFolderType type = TNY_FOLDER_TYPE_UNKNOWN; gchar *fname = NULL; const gchar *account_id = NULL; - gint unread; + gint unread = 0; rendobj = G_OBJECT(renderer); gtk_tree_model_get (tree_model, iter, @@ -660,7 +661,7 @@ filter_row (GtkTreeModel *model, gpointer data) { gboolean retval = TRUE; - gint type = 0; + TnyFolderType type = TNY_FOLDER_TYPE_UNKNOWN; GObject *instance = NULL; gtk_tree_model_get (model, iter, @@ -778,7 +779,6 @@ on_selection_changed (GtkTreeSelection *sel, gpointer user_data) GtkTreeIter iter; ModestFolderView *tree_view; ModestFolderViewPrivate *priv; - gint type; g_return_if_fail (sel); g_return_if_fail (user_data); @@ -801,7 +801,6 @@ on_selection_changed (GtkTreeSelection *sel, gpointer user_data) tree_view = MODEST_FOLDER_VIEW (user_data); gtk_tree_model_get (model, &iter, - TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, &type, TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, &folder, -1); @@ -876,8 +875,9 @@ cmp_rows (GtkTreeModel *tree_model, GtkTreeIter *iter1, GtkTreeIter *iter2, gpointer user_data) { gint cmp; - gchar *name1, *name2; - TnyFolderType type; + gchar *name1 = NULL; + gchar *name2 = NULL; + TnyFolderType type = TNY_FOLDER_TYPE_UNKNOWN; GObject *folder1 = NULL; GObject *folder2 = NULL; @@ -1567,13 +1567,35 @@ find_inbox_iter (GtkTreeModel *model, GtkTreeIter *iter, GtkTreeIter *inbox_iter { do { GtkTreeIter child; - gint type; + TnyFolderType type = TNY_FOLDER_TYPE_UNKNOWN; + gchar *name = NULL; gtk_tree_model_get (model, iter, + TNY_GTK_FOLDER_STORE_TREE_MODEL_NAME_COLUMN, &name, TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, &type, -1); + /* + printf ("DEBUG: %s: name=%s, type=%d, TNY_FOLDER_TYPE_INBOX=%d\n", + __FUNCTION__, name, type, TNY_FOLDER_TYPE_INBOX); + */ + + gboolean result = FALSE; if (type == TNY_FOLDER_TYPE_INBOX) { + result = TRUE; + } else if (type == TNY_FOLDER_TYPE_NORMAL) { + /* tinymail's camel implementation only provides TNY_FOLDER_TYPE_NORMAL + * when getting folders from the cache, before connectin, so we do + * an extra check. We could fix this in tinymail, but it's easier + * to do here. + */ + if (strcmp (name, "Inbox") == 0) + result = TRUE; + } + + g_free (name); + + if (result) { *inbox_iter = *iter; return TRUE; } @@ -1605,8 +1627,9 @@ modest_folder_view_select_first_inbox_or_local (ModestFolderView *self) sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (self)); gtk_tree_model_get_iter_first (model, &iter); - if (find_inbox_iter (model, &iter, &inbox_iter)) + if (find_inbox_iter (model, &iter, &inbox_iter)) { gtk_tree_selection_select_iter (sel, &inbox_iter); + } else { gtk_tree_model_get_iter_first (model, &iter); gtk_tree_selection_select_iter (sel, &iter);