[gnome-commander/gcmd-1-3] Added gnome_cmd_con_get_free_space() for retrieving volume's free space
- From: Piotr Eljasiak <epiotr src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-commander/gcmd-1-3] Added gnome_cmd_con_get_free_space() for retrieving volume's free space
- Date: Sun, 4 Oct 2009 21:04:20 +0000 (UTC)
commit db7e24ba3619c21e97adc4a695365b7f9de71522
Author: Piotr Eljasiak <epiotr src gnome org>
Date: Sun Oct 4 19:25:40 2009 +0200
Added gnome_cmd_con_get_free_space() for retrieving volume's free space
src/gnome-cmd-con.h | 19 +++++++++++++++++++
src/gnome-cmd-dir.h | 15 +++++++++++++++
src/gnome-cmd-file-selector.cc | 25 ++-----------------------
3 files changed, 36 insertions(+), 23 deletions(-)
---
diff --git a/src/gnome-cmd-con.h b/src/gnome-cmd-con.h
index fe1310f..da86292 100644
--- a/src/gnome-cmd-con.h
+++ b/src/gnome-cmd-con.h
@@ -332,6 +332,25 @@ inline const gchar *gnome_cmd_con_get_icon_name (GnomeCmdCon *con)
return gnome_cmd_con_get_icon_name (con->method);
}
+inline gchar *gnome_cmd_con_get_free_space (GnomeCmdCon *con, GnomeCmdDir *dir, const gchar *fmt)
+{
+ g_return_val_if_fail (GNOME_CMD_IS_CON (con), NULL);
+ g_return_val_if_fail (GNOME_CMD_IS_DIR (dir), NULL);
+
+ if (!gnome_cmd_con_can_show_free_space (con))
+ return NULL;
+
+ gchar *free_space = gnome_cmd_dir_get_free_space (dir);
+
+ if (!free_space)
+ return _("Unknown disk usage");
+
+ gchar *retval = g_strdup_printf (fmt, free_space);
+ g_free (free_space);
+
+ return retval;
+}
+
std::string &__gnome_cmd_con_make_uri (std::string &s, const gchar *method, gboolean use_auth, std::string &server, std::string &port, std::string &folder, std::string &user, std::string &password);
inline std::string &gnome_cmd_con_make_custom_uri (std::string &s, const std::string &uri)
diff --git a/src/gnome-cmd-dir.h b/src/gnome-cmd-dir.h
index 4d02aa2..b368799 100644
--- a/src/gnome-cmd-dir.h
+++ b/src/gnome-cmd-dir.h
@@ -149,4 +149,19 @@ void gnome_cmd_dir_cancel_monitoring (GnomeCmdDir *dir);
gboolean gnome_cmd_dir_is_local (GnomeCmdDir *dir);
void gnome_cmd_dir_set_content_changed (GnomeCmdDir *dir);
+inline gchar *gnome_cmd_dir_get_free_space (GnomeCmdDir *dir)
+{
+ g_return_val_if_fail (GNOME_CMD_IS_DIR (dir), NULL);
+
+ GnomeVFSFileSize free_space;
+ GnomeVFSURI *uri = gnome_cmd_file_get_uri (GNOME_CMD_FILE (dir));
+ GnomeVFSResult res = gnome_vfs_get_volume_free_space (uri, &free_space);
+ gnome_vfs_uri_unref (uri);
+
+ if (res!=GNOME_VFS_OK)
+ return NULL;
+
+ return gnome_vfs_format_file_size_for_display (free_space);
+}
+
#endif // __GNOME_CMD_DIR_H__
diff --git a/src/gnome-cmd-file-selector.cc b/src/gnome-cmd-file-selector.cc
index 9e00cda..03738be 100644
--- a/src/gnome-cmd-file-selector.cc
+++ b/src/gnome-cmd-file-selector.cc
@@ -552,29 +552,8 @@ static void update_vol_label (GnomeCmdFileSelector *fs)
g_return_if_fail (GNOME_CMD_IS_FILE_SELECTOR (fs));
g_return_if_fail (GNOME_CMD_IS_CON (fs->get_connection()));
- gchar *s;
-
- if (gnome_cmd_con_can_show_free_space (fs->get_connection()))
- {
- GnomeVFSFileSize free_space;
- GnomeVFSURI *uri = gnome_cmd_file_get_uri (GNOME_CMD_FILE (fs->get_directory()));
- GnomeVFSResult res = gnome_vfs_get_volume_free_space (uri, &free_space);
- gnome_vfs_uri_unref (uri);
-
- if (res == GNOME_VFS_OK)
- {
- gchar *sfree = gnome_vfs_format_file_size_for_display (free_space);
- s = g_strdup_printf (_("%s free"), sfree);
- g_free (sfree);
- }
- else
- s = g_strdup (_("Unknown disk usage"));
- }
- else
- s = g_strdup ("");
-
- gtk_label_set_text (GTK_LABEL (fs->vol_label), s);
-
+ gchar *s = gnome_cmd_con_get_free_space (fs->get_connection(), fs->get_directory(), _("%s free"));
+ gtk_label_set_text (GTK_LABEL (fs->vol_label), s ? s : "");
g_free (s);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]