gnome-commander r2301 - in branches/gcmd-1-3: . src



Author: epiotr
Date: Fri Nov 21 23:33:33 2008
New Revision: 2301
URL: http://svn.gnome.org/viewvc/gnome-commander?rev=2301&view=rev

Log:
Do not allocate dynamically AdvrenameConfig in GnomeCmdData

Modified:
   branches/gcmd-1-3/ChangeLog
   branches/gcmd-1-3/src/gnome-cmd-advrename-dialog.cc
   branches/gcmd-1-3/src/gnome-cmd-data.cc
   branches/gcmd-1-3/src/gnome-cmd-data.h
   branches/gcmd-1-3/src/gnome-cmd-user-actions.cc
   branches/gcmd-1-3/src/history.h

Modified: branches/gcmd-1-3/src/gnome-cmd-advrename-dialog.cc
==============================================================================
--- branches/gcmd-1-3/src/gnome-cmd-advrename-dialog.cc	(original)
+++ branches/gcmd-1-3/src/gnome-cmd-advrename-dialog.cc	Fri Nov 21 23:33:33 2008
@@ -938,7 +938,7 @@
                 g_free (new_name);
             }
             dialog->update_new_filenames();
-            dialog->defaults.templates->add(gtk_entry_get_text (GTK_ENTRY (dialog->priv->template_entry)));
+            dialog->defaults.templates.add(gtk_entry_get_text (GTK_ENTRY (dialog->priv->template_entry)));
             break;
 
 
@@ -946,7 +946,7 @@
         case GTK_RESPONSE_DELETE_EVENT:
         case GTK_RESPONSE_CANCEL:
         case GTK_RESPONSE_CLOSE:
-            dialog->defaults.templates->add(gtk_entry_get_text (GTK_ENTRY (dialog->priv->template_entry)));
+            dialog->defaults.templates.add(gtk_entry_get_text (GTK_ENTRY (dialog->priv->template_entry)));
             gtk_widget_hide (*dialog);
             dialog->unset();
             g_signal_stop_emission_by_name (dialog, "response");        //  FIXME:  ???
@@ -1429,11 +1429,11 @@
     gtk_window_set_default_size (*this, defaults.width, defaults.height);
 
     // Template
-    for (GList *i=defaults.templates->ents; i; i=i->next)
+    for (GList *i=defaults.templates.ents; i; i=i->next)
         gtk_combo_box_append_text (GTK_COMBO_BOX (priv->template_combo), (const gchar *) i->data);
 
-    if (defaults.templates->ents)
-        gtk_entry_set_text (GTK_ENTRY (priv->template_entry), (const gchar *) defaults.templates->ents->data);
+    if (defaults.templates.ents)
+        gtk_entry_set_text (GTK_ENTRY (priv->template_entry), (const gchar *) defaults.templates.ents->data);
     else
         gtk_entry_set_text (GTK_ENTRY (priv->template_entry), "$N");
 

Modified: branches/gcmd-1-3/src/gnome-cmd-data.cc
==============================================================================
--- branches/gcmd-1-3/src/gnome-cmd-data.cc	(original)
+++ branches/gcmd-1-3/src/gnome-cmd-data.cc	Fri Nov 21 23:33:33 2008
@@ -831,11 +831,11 @@
 
     GtkTreeIter i;
 
-    for (gboolean valid_iter=gtk_tree_model_get_iter_first (advrename_defaults->regexes, &i); valid_iter; valid_iter=gtk_tree_model_iter_next (advrename_defaults->regexes, &i))
+    for (gboolean valid_iter=gtk_tree_model_get_iter_first (advrename_defaults.regexes, &i); valid_iter; valid_iter=gtk_tree_model_iter_next (advrename_defaults.regexes, &i))
     {
         GnomeCmdAdvrenameDialog::Regex *rx;
 
-        gtk_tree_model_get (advrename_defaults->regexes, &i,
+        gtk_tree_model_get (advrename_defaults.regexes, &i,
                             GnomeCmdAdvrenameDialog::COL_REGEX, &rx,
                             -1);
         if (!rx)
@@ -846,15 +846,15 @@
         csens = g_list_append (csens, (gpointer) (rx->case_sensitive ? "T" : "F"));
     }
 
-    gnome_cmd_data_set_int ("/advrename/width", advrename_defaults->width);
-    gnome_cmd_data_set_int ("/advrename/height", advrename_defaults->height);
+    gnome_cmd_data_set_int ("/advrename/width", advrename_defaults.width);
+    gnome_cmd_data_set_int ("/advrename/height", advrename_defaults.height);
 
-    gnome_cmd_data_set_int ("/template-history/size", g_list_length (advrename_defaults->templates->ents));
-    gnome_cmd_data_set_string_history ("/template-history/template%d", advrename_defaults->templates->ents);
+    gnome_cmd_data_set_int ("/template-history/size", advrename_defaults.templates.size());
+    gnome_cmd_data_set_string_history ("/template-history/template%d", advrename_defaults.templates.ents);
 
-    gnome_cmd_data_set_int ("/advrename/counter_start", advrename_defaults->counter_start);
-    gnome_cmd_data_set_int ("/advrename/counter_precision", advrename_defaults->counter_precision);
-    gnome_cmd_data_set_int ("/advrename/counter_increment", advrename_defaults->counter_increment);
+    gnome_cmd_data_set_int ("/advrename/counter_start", advrename_defaults.counter_start);
+    gnome_cmd_data_set_int ("/advrename/counter_precision", advrename_defaults.counter_precision);
+    gnome_cmd_data_set_int ("/advrename/counter_increment", advrename_defaults.counter_increment);
 
     gnome_cmd_data_set_int ("/rename-history/size", g_list_length (from));
     gnome_cmd_data_set_string_history ("/rename-history/from%d", from);
@@ -976,21 +976,18 @@
     gint size;
     GList *from=NULL, *to=NULL, *csens=NULL;
 
-    advrename_defaults = g_new0 (AdvrenameConfig, 1);
-
-    advrename_defaults->width = gnome_cmd_data_get_int ("/advrename/width", 450);
-    advrename_defaults->height = gnome_cmd_data_get_int ("/advrename/height", 400);
+    advrename_defaults.width = gnome_cmd_data_get_int ("/advrename/width", 640);
+    advrename_defaults.height = gnome_cmd_data_get_int ("/advrename/height", 400);
 
     size = gnome_cmd_data_get_int ("/template-history/size", 0);
     GList *templates = load_string_history ("/template-history/template%d", size);
 
-    advrename_defaults->templates = new History(10);
-    advrename_defaults->templates->ents = templates;
-    advrename_defaults->templates->pos = templates;
-
-    advrename_defaults->counter_start = gnome_cmd_data_get_int ("/advrename/counter_start", 1);
-    advrename_defaults->counter_precision = gnome_cmd_data_get_int ("/advrename/counter_precision", 1);
-    advrename_defaults->counter_increment = gnome_cmd_data_get_int ("/advrename/counter_increment", 1);
+    advrename_defaults.templates.ents = templates;
+    advrename_defaults.templates.pos = templates;
+
+    advrename_defaults.counter_start = gnome_cmd_data_get_int ("/advrename/counter_start", 1);
+    advrename_defaults.counter_precision = gnome_cmd_data_get_int ("/advrename/counter_precision", 1);
+    advrename_defaults.counter_increment = gnome_cmd_data_get_int ("/advrename/counter_increment", 1);
 
     size = gnome_cmd_data_get_int ("/rename-history/size", 0);
 
@@ -998,7 +995,7 @@
     GList *tmp_to = to = load_string_history ("/rename-history/to%d", size);
     GList *tmp_csens = csens = load_string_history ("/rename-history/csens%d", size);
 
-    advrename_defaults->regexes = GTK_TREE_MODEL (gtk_list_store_new (GnomeCmdAdvrenameDialog::NUM_REGEX_COLS,
+    advrename_defaults.regexes = GTK_TREE_MODEL (gtk_list_store_new (GnomeCmdAdvrenameDialog::NUM_REGEX_COLS,
                                                                       G_TYPE_POINTER,
                                                                       G_TYPE_BOOLEAN,
                                                                       G_TYPE_STRING,
@@ -1010,8 +1007,8 @@
         GnomeCmdAdvrenameDialog::Regex *rx = new GnomeCmdAdvrenameDialog::Regex((gchar *) tmp_from->data,
                                                                                   (gchar *) tmp_to->data,
                                                                                   *((gchar *) tmp_csens->data)=='T');
-        gtk_list_store_append (GTK_LIST_STORE (advrename_defaults->regexes), &iter);
-        gtk_list_store_set (GTK_LIST_STORE (advrename_defaults->regexes), &iter,
+        gtk_list_store_append (GTK_LIST_STORE (advrename_defaults.regexes), &iter);
+        gtk_list_store_set (GTK_LIST_STORE (advrename_defaults.regexes), &iter,
                             GnomeCmdAdvrenameDialog::COL_REGEX, rx,
                             GnomeCmdAdvrenameDialog::COL_MALFORMED_REGEX, !*rx,
                             GnomeCmdAdvrenameDialog::COL_PATTERN, rx->from.c_str(),
@@ -1100,8 +1097,6 @@
     filter_settings.hidden = TRUE;
     filter_settings.backup = TRUE;
 
-    advrename_defaults = NULL;
-
     case_sens_sort = TRUE;
     ext_disp_mode = GNOME_CMD_EXT_DISP_BOTH;
     list_orientation = FALSE;
@@ -1164,8 +1159,6 @@
         g_free (priv->term);
         g_free (priv->mime_editor);
 
-        delete advrename_defaults->templates;
-
         g_free (priv);
     }
 }

Modified: branches/gcmd-1-3/src/gnome-cmd-data.h
==============================================================================
--- branches/gcmd-1-3/src/gnome-cmd-data.h	(original)
+++ branches/gcmd-1-3/src/gnome-cmd-data.h	Fri Nov 21 23:33:33 2008
@@ -50,13 +50,18 @@
 
     struct AdvrenameConfig
     {
-        History *templates;
+        History templates;
         GtkTreeModel *regexes;
 
         guint counter_start;
-        guint counter_precision;
         gint counter_increment;
+        guint counter_precision;
         gint width, height;
+
+        AdvrenameConfig(): templates(10), regexes(NULL),
+                           counter_start(1), counter_increment(1), counter_precision(1),          //  defaults for
+                           width(600), height(400)                                            {}  //  advrename settings
+        ~AdvrenameConfig()                         {  if (regexes)  g_object_unref (regexes);  }
     };
 
     struct FilterSettings
@@ -102,7 +107,7 @@
     Filter::Type                 filter_type;
     FilterSettings               filter_settings;
 
-    AdvrenameConfig             *advrename_defaults;
+    AdvrenameConfig              advrename_defaults;
 
     gboolean                     case_sens_sort;
     GnomeCmdExtDispMode          ext_disp_mode;

Modified: branches/gcmd-1-3/src/gnome-cmd-user-actions.cc
==============================================================================
--- branches/gcmd-1-3/src/gnome-cmd-user-actions.cc	(original)
+++ branches/gcmd-1-3/src/gnome-cmd-user-actions.cc	Fri Nov 21 23:33:33 2008
@@ -744,7 +744,7 @@
 
         if (!main_win->advrename_dlg)
         {
-            main_win->advrename_dlg = new GnomeCmdAdvrenameDialog(*gnome_cmd_data.advrename_defaults);
+            main_win->advrename_dlg = new GnomeCmdAdvrenameDialog(gnome_cmd_data.advrename_defaults);
             // gtk_widget_ref (*main_win->advrename_dlg);      //  FIXME:  ???
             main_win->advrename_dlg->set(files);
             gtk_widget_show_all (*main_win->advrename_dlg);

Modified: branches/gcmd-1-3/src/history.h
==============================================================================
--- branches/gcmd-1-3/src/history.h	(original)
+++ branches/gcmd-1-3/src/history.h	Fri Nov 21 23:33:33 2008
@@ -31,6 +31,9 @@
     History(gint max): ents(NULL), pos(NULL), is_locked(FALSE)  {  this->max = max;  }
     ~History();
 
+    guint size()                                    {  return g_list_length (ents);  }
+    gboolean empty()                                {  return ents==NULL;            }
+
     void add(const gchar *text);
 
     gboolean can_back()                                 {  return pos && pos->next;  }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]