[gnome-commander] GnomeCmdFile: more C++ rework
- From: Piotr Eljasiak <epiotr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-commander] GnomeCmdFile: more C++ rework
- Date: Fri, 19 Nov 2010 21:07:06 +0000 (UTC)
commit 051f791bdedfe139f097f9b0c56b4914e248b272
Author: Piotr Eljasiak <epiotr src gnome org>
Date: Fri Nov 19 21:56:35 2010 +0100
GnomeCmdFile: more C++ rework
src/dialogs/gnome-cmd-advrename-dialog.cc | 6 ++--
src/gnome-cmd-dir.h | 4 +-
src/gnome-cmd-file-collection.cc | 2 +-
src/gnome-cmd-file-list.cc | 5 +--
src/gnome-cmd-file-props-dialog.cc | 4 +-
src/gnome-cmd-file.cc | 32 ++++++++++++----------------
src/gnome-cmd-file.h | 16 ++++++++++++-
src/gnome-cmd-make-copy-dialog.cc | 4 +-
src/gnome-cmd-rename-dialog.cc | 9 +++----
9 files changed, 44 insertions(+), 38 deletions(-)
---
diff --git a/src/dialogs/gnome-cmd-advrename-dialog.cc b/src/dialogs/gnome-cmd-advrename-dialog.cc
index e2c0243..7c63822 100644
--- a/src/dialogs/gnome-cmd-advrename-dialog.cc
+++ b/src/dialogs/gnome-cmd-advrename-dialog.cc
@@ -259,7 +259,7 @@ void GnomeCmdAdvrenameDialog::Private::on_files_view_popup_menu__remove (GtkWidg
gtk_tree_model_get (model, &iter, COL_FILE, &f, -1);
gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
- gnome_cmd_file_unref (f);
+ f->unref();
}
}
@@ -718,7 +718,7 @@ void GnomeCmdAdvrenameDialog::set(GList *file_list)
gtk_list_store_append (GTK_LIST_STORE (files), &iter);
gtk_list_store_set (GTK_LIST_STORE (files), &iter,
- COL_FILE, gnome_cmd_file_ref (f),
+ COL_FILE, f->ref(),
COL_NAME, gnome_cmd_file_get_name (f),
COL_SIZE, f->get_size(),
COL_DATE, f->get_mdate(FALSE),
@@ -745,7 +745,7 @@ void GnomeCmdAdvrenameDialog::unset()
COL_FILE, &f,
-1);
- gnome_cmd_file_unref (f);
+ f->unref();
}
g_signal_handlers_block_by_func (files, gpointer (Private::on_files_model_row_deleted), this);
diff --git a/src/gnome-cmd-dir.h b/src/gnome-cmd-dir.h
index d3db636..07844ce 100644
--- a/src/gnome-cmd-dir.h
+++ b/src/gnome-cmd-dir.h
@@ -112,13 +112,13 @@ inline GnomeCmdFile *gnome_cmd_dir_new_parent_dir_file (GnomeCmdDir *dir)
inline void gnome_cmd_dir_ref (GnomeCmdDir *dir)
{
g_return_if_fail (GNOME_CMD_IS_DIR (dir));
- gnome_cmd_file_ref (GNOME_CMD_FILE (dir));
+ GNOME_CMD_FILE (dir)->ref();
}
inline void gnome_cmd_dir_unref (GnomeCmdDir *dir)
{
g_return_if_fail (GNOME_CMD_IS_DIR (dir));
- gnome_cmd_file_unref (GNOME_CMD_FILE (dir));
+ GNOME_CMD_FILE (dir)->unref();
}
GnomeVFSResult gnome_cmd_dir_get_files (GnomeCmdDir *dir, GList **files);
diff --git a/src/gnome-cmd-file-collection.cc b/src/gnome-cmd-file-collection.cc
index 723512f..8cc0a7e 100644
--- a/src/gnome-cmd-file-collection.cc
+++ b/src/gnome-cmd-file-collection.cc
@@ -34,7 +34,7 @@ void GnomeCmdFileCollection::add(GnomeCmdFile *f)
gchar *uri_str = gnome_cmd_file_get_uri_str (f);
g_hash_table_insert (map, uri_str, f);
- gnome_cmd_file_ref (f);
+ f->ref();
}
diff --git a/src/gnome-cmd-file-list.cc b/src/gnome-cmd-file-list.cc
index 94ef1a9..9852bda 100644
--- a/src/gnome-cmd-file-list.cc
+++ b/src/gnome-cmd-file-list.cc
@@ -453,8 +453,7 @@ void GnomeCmdFileList::select_file(GnomeCmdFile *f, gint row)
if (g_list_index (priv->selected_files, f) != -1)
return;
- gnome_cmd_file_ref (f);
- priv->selected_files = g_list_append (priv->selected_files, f);
+ priv->selected_files = g_list_append (priv->selected_files, f->ref());
g_signal_emit (this, signals[FILES_CHANGED], 0);
}
@@ -472,7 +471,7 @@ void GnomeCmdFileList::unselect_file(GnomeCmdFile *f, gint row)
if (g_list_index (priv->selected_files, f) == -1)
return;
- gnome_cmd_file_unref (f);
+ f->unref();
priv->selected_files = g_list_remove (priv->selected_files, f);
if (!gnome_cmd_data.use_ls_colors)
diff --git a/src/gnome-cmd-file-props-dialog.cc b/src/gnome-cmd-file-props-dialog.cc
index 09efaa7..bad84eb 100644
--- a/src/gnome-cmd-file-props-dialog.cc
+++ b/src/gnome-cmd-file-props-dialog.cc
@@ -148,7 +148,7 @@ static gboolean join_thread_func (GnomeCmdFilePropsDialogPrivate *data)
if (data->thread)
g_thread_join (data->thread);
- gnome_cmd_file_unref (data->f);
+ data->f->unref();
g_free (data);
return FALSE;
@@ -727,7 +727,7 @@ GtkWidget *gnome_cmd_file_props_dialog_create (GnomeCmdFile *f)
data->mutex = g_mutex_new ();
data->msg = NULL;
data->notebook = notebook;
- gnome_cmd_file_ref (f);
+ f->ref();
g_object_ref (notebook);
g_object_set_data_full (G_OBJECT (dialog), "notebook", notebook, g_object_unref);
diff --git a/src/gnome-cmd-file.cc b/src/gnome-cmd-file.cc
index 5423283..07c8a39 100644
--- a/src/gnome-cmd-file.cc
+++ b/src/gnome-cmd-file.cc
@@ -241,34 +241,30 @@ void gnome_cmd_file_setup (GnomeCmdFile *f, GnomeVFSFileInfo *info, GnomeCmdDir
}
-GnomeCmdFile *gnome_cmd_file_ref (GnomeCmdFile *f)
+GnomeCmdFile *GnomeCmdFile::ref()
{
- g_return_val_if_fail (f != NULL, NULL);
-
- f->priv->ref_cnt++;
+ priv->ref_cnt++;
- if (f->priv->ref_cnt == 1)
- gtk_object_ref (GTK_OBJECT (f));
+ if (priv->ref_cnt == 1)
+ gtk_object_ref (GTK_OBJECT (this));
- char c = GNOME_CMD_IS_DIR (f) ? 'd' : 'f';
+ char c = GNOME_CMD_IS_DIR (this) ? 'd' : 'f';
- DEBUG (c, "refing: 0x%p %s to %d\n", f, f->info->name, f->priv->ref_cnt);
+ DEBUG (c, "refing: 0x%p %s to %d\n", this, info->name, priv->ref_cnt);
- return f;
+ return this;
}
-void gnome_cmd_file_unref (GnomeCmdFile *f)
+void GnomeCmdFile::unref()
{
- g_return_if_fail (f != NULL);
-
- f->priv->ref_cnt--;
+ priv->ref_cnt--;
- char c = GNOME_CMD_IS_DIR (f) ? 'd' : 'f';
+ char c = GNOME_CMD_IS_DIR (this) ? 'd' : 'f';
- DEBUG (c, "un-refing: 0x%p %s to %d\n", f, f->info->name, f->priv->ref_cnt);
- if (f->priv->ref_cnt < 1)
- gtk_object_destroy (GTK_OBJECT (f));
+ DEBUG (c, "un-refing: 0x%p %s to %d\n", this, info->name, priv->ref_cnt);
+ if (priv->ref_cnt < 1)
+ gtk_object_destroy (GTK_OBJECT (this));
}
@@ -701,7 +697,7 @@ static void on_file_downloaded_for_view (GnomeVFSURI *uri)
return;
do_view_file (f);
- gnome_cmd_file_unref (f);
+ f->unref();
}
diff --git a/src/gnome-cmd-file.h b/src/gnome-cmd-file.h
index 4b98fa8..1162fd9 100644
--- a/src/gnome-cmd-file.h
+++ b/src/gnome-cmd-file.h
@@ -47,6 +47,9 @@ struct GnomeCmdFile
gchar *collate_key; // necessary for proper sorting of UTF-8 encoded file names
GnomeCmdFileMetadata *metadata;
+ GnomeCmdFile *ref();
+ void unref();
+
void invalidate_metadata();
gchar *get_path();
@@ -107,8 +110,17 @@ GnomeCmdFile *gnome_cmd_file_new_from_uri (const gchar *local_full_path);
GnomeCmdFile *gnome_cmd_file_new (GnomeVFSFileInfo *info, GnomeCmdDir *dir);
void gnome_cmd_file_setup (GnomeCmdFile *f, GnomeVFSFileInfo *info, GnomeCmdDir *dir);
-GnomeCmdFile *gnome_cmd_file_ref (GnomeCmdFile *f);
-void gnome_cmd_file_unref (GnomeCmdFile *f);
+inline GnomeCmdFile *gnome_cmd_file_ref (GnomeCmdFile *f)
+{
+ g_return_val_if_fail (f != NULL, NULL);
+ return f->ref();
+}
+
+inline void gnome_cmd_file_unref (GnomeCmdFile *f)
+{
+ g_return_if_fail (f != NULL);
+ f->unref();
+}
inline gchar *gnome_cmd_file_get_name (GnomeCmdFile *f)
{
diff --git a/src/gnome-cmd-make-copy-dialog.cc b/src/gnome-cmd-make-copy-dialog.cc
index 65c3ac7..10ab1de 100644
--- a/src/gnome-cmd-make-copy-dialog.cc
+++ b/src/gnome-cmd-make-copy-dialog.cc
@@ -76,7 +76,7 @@ static gboolean on_ok (GnomeCmdStringDialog *string_dialog, const gchar **values
static void on_cancel (GtkWidget *widget, GnomeCmdMakeCopyDialog *dialog)
{
- gnome_cmd_file_unref (dialog->priv->f);
+ dialog->priv->f->unref();
}
@@ -133,7 +133,7 @@ GtkWidget *gnome_cmd_make_copy_dialog_new (GnomeCmdFile *f, GnomeCmdDir *dir)
dialog->priv->f = f;
dialog->priv->dir = dir;
- gnome_cmd_file_ref (f);
+ f->ref();
gnome_cmd_dir_ref (dir);
gchar *msg = g_strdup_printf (_("Copy \"%s\" to"), gnome_cmd_file_get_name (f));
diff --git a/src/gnome-cmd-rename-dialog.cc b/src/gnome-cmd-rename-dialog.cc
index 3c681be..6ecb076 100644
--- a/src/gnome-cmd-rename-dialog.cc
+++ b/src/gnome-cmd-rename-dialog.cc
@@ -52,7 +52,7 @@ static gboolean on_dialog_keypressed (GtkWidget *widget, GdkEventKey *event, gpo
switch (event->keyval)
{
case GDK_Escape:
- gnome_cmd_file_unref (dialog->priv->f);
+ dialog->priv->f->unref();
gtk_widget_destroy(widget);
return TRUE;
@@ -65,7 +65,7 @@ static gboolean on_dialog_keypressed (GtkWidget *widget, GdkEventKey *event, gpo
if (result==GNOME_VFS_OK)
main_win->fs(ACTIVE)->file_list()->focus_file(new_fname, TRUE);
- gnome_cmd_file_unref (dialog->priv->f);
+ dialog->priv->f->unref();
gtk_widget_destroy (widget);
if (result!=GNOME_VFS_OK)
@@ -89,7 +89,7 @@ static gboolean on_dialog_keypressed (GtkWidget *widget, GdkEventKey *event, gpo
static gboolean on_focus_out (GtkWidget *widget, GdkEventKey *event)
{
- gnome_cmd_file_unref (GNOME_CMD_RENAME_DIALOG(widget)->priv->f);
+ GNOME_CMD_RENAME_DIALOG(widget)->priv->f->unref();
gtk_widget_destroy (widget);
return TRUE;
}
@@ -145,8 +145,7 @@ GtkWidget *gnome_cmd_rename_dialog_new (GnomeCmdFile *f, gint x, gint y, gint wi
GnomeCmdRenameDialog *dialog = (GnomeCmdRenameDialog *) gtk_type_new (gnome_cmd_rename_dialog_get_type ());
- dialog->priv->f = f;
- gnome_cmd_file_ref (f);
+ dialog->priv->f = f->ref();
gtk_window_set_has_frame (GTK_WINDOW (dialog), 0);
gtk_window_set_decorated (GTK_WINDOW (dialog), 0);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]