* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include <modest-defs.h>
#include <modest-widget-memory.h>
#include <modest-widget-memory-priv.h>
#include <modest-runtime.h>
#include <widgets/modest-header-view.h>
#include <widgets/modest-msg-view.h>
#include <widgets/modest-folder-view.h>
-#include "widgets/modest-main-window.h"
#include <string.h>
gchar*
static gboolean
restore_settings_widget (ModestConf *conf, GtkWidget *widget, const gchar *name)
{
- GtkRequisition req;
+ GtkRequisition req = {0, 0};
gchar *key;
key = _modest_widget_memory_get_keyname (name, MODEST_WIDGET_MEMORY_PARAM_HEIGHT);
modest_conf_set_int (conf, key, width, NULL);
g_free (key);
- /* Save also the main window style */
- if (MODEST_IS_MAIN_WINDOW (win)) {
- ModestMainWindowStyle style = modest_main_window_get_style (MODEST_MAIN_WINDOW (win));
-
- key = _modest_widget_memory_get_keyname (name, MODEST_WIDGET_MEMORY_PARAM_WINDOW_STYLE);
- modest_conf_set_int (conf, key, style, NULL);
- g_free (key);
- }
-
return TRUE;
}
gtk_window_set_default_size() makes "drag-motion" signal
report bad coordinates, so drag-and-drop do not work
properly */
-#ifdef MODEST_PLATFORM_GNOME
+#ifdef MODEST_TOOLKIT_GTK
if (height && width)
gtk_window_set_default_size (win, width, height);
#endif
- /* Restore also the main window style */
- if (MODEST_IS_MAIN_WINDOW (win)) {
- ModestMainWindowStyle style;
-
- key = _modest_widget_memory_get_keyname (name, MODEST_WIDGET_MEMORY_PARAM_WINDOW_STYLE);
- if (modest_conf_key_exists (conf, key, NULL)) {
- style = (ModestMainWindowStyle) modest_conf_get_int (conf, key, NULL);
- modest_main_window_set_style (MODEST_MAIN_WINDOW (win), style);
- g_free (key);
- }
- }
return TRUE;
}
save_settings_paned (ModestConf *conf, GtkPaned *paned, const gchar *name)
{
gchar *key;
- int pos, percent;
+ gint pos;
+ gdouble percent;
/* Don't save the paned position if it's not visible,
* because it could not be correct: */
- if (GTK_WIDGET_VISIBLE (GTK_WIDGET (paned)) && GTK_WIDGET_REALIZED (GTK_WIDGET (paned))) {
+ if (GTK_WIDGET_REALIZED (GTK_WIDGET (paned))) {
pos = gtk_paned_get_position (paned);
- percent = pos * 100 / GTK_WIDGET (paned)->allocation.width;
+ percent = (gdouble) (pos * 100) / (gdouble) GTK_WIDGET (paned)->allocation.width;
key = _modest_widget_memory_get_keyname (name, MODEST_WIDGET_MEMORY_PARAM_POS);
- modest_conf_set_int (conf, key, percent, NULL);
+ modest_conf_set_float (conf, key, percent, NULL);
g_free (key);
}
restore_settings_paned (ModestConf *conf, GtkPaned *paned, const gchar *name)
{
gchar *key;
- int percent, pos;
+ gdouble percent;
+ gint pos;
key = _modest_widget_memory_get_keyname (name, MODEST_WIDGET_MEMORY_PARAM_POS);
- percent = modest_conf_get_int (conf, key, NULL);
+ percent = modest_conf_get_float (conf, key, NULL);
if (GTK_WIDGET_VISIBLE (GTK_WIDGET (paned)) && GTK_WIDGET_REALIZED (GTK_WIDGET (paned))) {
pos = GTK_WIDGET (paned)->allocation.width * percent /100;
}
if (sort_colid >= 0) {
- GtkTreeModel *sortable =
- gtk_tree_model_filter_get_model (
- GTK_TREE_MODEL_FILTER (gtk_tree_view_get_model (GTK_TREE_VIEW (header_view))));
+ GtkTreeModel *sortable = gtk_tree_view_get_model (GTK_TREE_VIEW (header_view));
if (sort_colid == TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN)
modest_header_view_sort_by_column_id (header_view, 0, sort_type);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(sortable),
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sortable),
sort_colid,
sort_type);
modest_header_view_sort_by_column_id (header_view, sort_colid, sort_type);
- gtk_tree_sortable_sort_column_changed (GTK_TREE_SORTABLE(sortable));
+ gtk_tree_sortable_sort_column_changed (GTK_TREE_SORTABLE (sortable));
}
g_free (key);
default_acc = modest_account_mgr_get_default_account (mgr);
if (default_acc) {
ModestAccountSettings *settings;
- ModestServerAccountSettings *store_settings;
const gchar *server_acc_id;
settings = modest_account_mgr_load_account_settings (mgr, (const gchar*) default_acc);
- store_settings = modest_account_settings_get_store_settings (settings);
- server_acc_id = modest_server_account_settings_get_account_name (store_settings);
-
- modest_folder_view_set_account_id_of_visible_server_account (folder_view, server_acc_id);
- g_object_unref (store_settings);
- g_object_unref (settings);
+ /* If there was any problem with the settings storage
+ the settings could be NULL */
+ if (settings) {
+ ModestServerAccountSettings *store_settings;
+ store_settings = modest_account_settings_get_store_settings (settings);
+
+ if (store_settings) {
+ server_acc_id = modest_server_account_settings_get_account_name (store_settings);
+ modest_folder_view_set_account_id_of_visible_server_account (folder_view, server_acc_id);
+ g_object_unref (store_settings);
+ }
+ g_object_unref (settings);
+ }
g_free (default_acc);
}
return TRUE;