[Xfce4-commits] <xfdesktop:jannis/port-to-gio> Drop internal file properties dialog. Use the D-Bus API everywhere.
Jannis Pohlmann
noreply at xfce.org
Mon Oct 25 16:08:01 CEST 2010
Updating branch refs/heads/jannis/port-to-gio
to ff621667189dd9fcdf323759301566f2f28384ef (commit)
from bfc8dbf12b880811fd48aa5e8f5864af699f2519 (commit)
commit ff621667189dd9fcdf323759301566f2f28384ef
Author: Jannis Pohlmann <jannis at xfce.org>
Date: Mon Oct 25 16:05:29 2010 +0200
Drop internal file properties dialog. Use the D-Bus API everywhere.
src/Makefile.am | 2 -
src/xfdesktop-file-icon-manager.c | 1 -
src/xfdesktop-file-properties-dialog.c | 599 --------------------------------
src/xfdesktop-file-properties-dialog.h | 36 --
src/xfdesktop-volume-icon.c | 10 +-
5 files changed, 7 insertions(+), 641 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 7e391ab..bb44a98 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -45,8 +45,6 @@ desktop_file_icon_sources = \
xfdesktop-file-icon.h \
xfdesktop-file-icon-manager.c \
xfdesktop-file-icon-manager.h \
- xfdesktop-file-properties-dialog.c \
- xfdesktop-file-properties-dialog.h \
xfdesktop-file-utils.c \
xfdesktop-file-utils.h \
xfdesktop-regular-file-icon.c \
diff --git a/src/xfdesktop-file-icon-manager.c b/src/xfdesktop-file-icon-manager.c
index f55c87b..7e0d114 100644
--- a/src/xfdesktop-file-icon-manager.c
+++ b/src/xfdesktop-file-icon-manager.c
@@ -66,7 +66,6 @@
#include "xfdesktop-file-icon-manager.h"
#include "xfdesktop-file-utils.h"
#include "xfdesktop-file-manager-proxy.h"
-#include "xfdesktop-file-properties-dialog.h"
#include "xfdesktop-icon-view.h"
#include "xfdesktop-regular-file-icon.h"
#include "xfdesktop-special-file-icon.h"
diff --git a/src/xfdesktop-file-properties-dialog.c b/src/xfdesktop-file-properties-dialog.c
deleted file mode 100644
index 0c51381..0000000
--- a/src/xfdesktop-file-properties-dialog.c
+++ /dev/null
@@ -1,599 +0,0 @@
-/*
- * xfdesktop - xfce4's desktop manager
- *
- * Copyright (c) 2006 Brian Tarricone, <bjt23 at cornell.edu>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Library General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-#include <libxfce4ui/libxfce4ui.h>
-
-#include <thunar-vfs/thunar-vfs.h>
-
-#ifdef HAVE_THUNARX
-#include <thunarx/thunarx.h>
-#endif
-
-#include "xfdesktop-icon.h"
-#include "xfdesktop-file-icon.h"
-#include "xfdesktop-file-utils.h"
-#include "xfdesktop-file-properties-dialog.h"
-#include "xfdesktop-common.h"
-
-#define BORDER 8
-
-enum
-{
- OPENWITH_COL_PIX = 0,
- OPENWITH_COL_NAME,
- OPENWITH_COL_HANDLER,
- OPENWITH_N_COLS,
-};
-
-static gboolean
-xfdesktop_mime_handlers_free_ls(GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *itr,
- gpointer data)
-{
- GObject *handler = NULL;
-
- gtk_tree_model_get(model, itr,
- OPENWITH_COL_HANDLER, &handler,
- -1);
- if(handler)
- g_object_unref(handler);
-
- return FALSE;
-}
-
-static void
-xfdesktop_file_properties_dialog_destroyed(GtkWidget *widget,
- gpointer user_data)
-{
- GtkTreeModel *model = GTK_TREE_MODEL(user_data);
- gtk_tree_model_foreach(model, xfdesktop_mime_handlers_free_ls, NULL);
-}
-
-static void
-xfdesktop_file_properties_dialog_set_default_mime_handler(GtkComboBox *combo,
- gpointer user_data)
-{
- GtkWindow *parent = user_data ? GTK_WINDOW(user_data) : NULL;
- XfdesktopFileIcon *icon = g_object_get_data(G_OBJECT(combo),
- "--xfdesktop-file-icon");
- const ThunarVfsInfo *info = xfdesktop_file_icon_peek_info(icon);
- GtkTreeIter itr;
- GtkTreeModel *model;
- ThunarVfsMimeApplication *mime_app = NULL;
- GError *error = NULL;
-
- if(!gtk_combo_box_get_active_iter(combo, &itr))
- return;
-
- model = gtk_combo_box_get_model(combo);
- gtk_tree_model_get(model, &itr,
- OPENWITH_COL_HANDLER, &mime_app,
- -1);
- if(mime_app) {
- ThunarVfsMimeDatabase *mime_database = thunar_vfs_mime_database_get_default();
-
- if(!thunar_vfs_mime_database_set_default_application(mime_database,
- info->mime_info,
- mime_app,
- &error))
- {
- gchar *primary = g_markup_printf_escaped(_("Unable to set default application for \"%s\" to \"%s\":"),
- xfdesktop_icon_peek_label(XFDESKTOP_ICON(icon)),
- thunar_vfs_mime_application_get_name(mime_app));
- xfce_message_dialog(parent, _("Properties Error"),
- GTK_STOCK_DIALOG_ERROR, primary, error->message,
- GTK_STOCK_CLOSE, GTK_RESPONSE_ACCEPT, NULL);
- g_free(primary);
- g_error_free(error);
- }
-
- g_object_unref(G_OBJECT(mime_database));
- }
-}
-
-void
-xfdesktop_file_properties_dialog_show(GtkWindow *parent,
- XfdesktopFileIcon *icon,
- GList *thunarx_properties_providers)
-{
- GtkWidget *dlg, *table, *hbox, *lbl, *img, *spacer, *notebook, *vbox,
- *entry, *combo;
- gint row = 0, dw, dh;
- PangoFontDescription *pfd;
- gchar *str = NULL, buf[64];
- const gchar *rname;
- gboolean is_link = FALSE;
- struct tm *tm;
- const ThunarVfsInfo *info;
- ThunarVfsMimeDatabase *mime_database;
- ThunarVfsUserManager *user_manager;
- ThunarVfsUser *user;
- ThunarVfsGroup *group;
- ThunarVfsFileMode mode;
- GList *mime_apps, *l;
- static const gchar *access_types[4] = {
- N_("None"), N_("Write only"), N_("Read only"), N_("Read & Write")
- };
-
- g_return_if_fail(icon);
- info = xfdesktop_file_icon_peek_info(icon);
- if(!info)
- return;
-
- pfd = pango_font_description_from_string("bold");
- gtk_icon_size_lookup(GTK_ICON_SIZE_DIALOG, &dw, &dh);
- mime_database = thunar_vfs_mime_database_get_default();
-
- dlg = gtk_dialog_new_with_buttons(xfdesktop_icon_peek_label(XFDESKTOP_ICON(icon)),
- parent,
- GTK_DIALOG_NO_SEPARATOR,
- GTK_STOCK_CLOSE, GTK_RESPONSE_ACCEPT,
- NULL);
- gtk_window_set_icon(GTK_WINDOW(dlg),
- xfdesktop_icon_peek_pixbuf(XFDESKTOP_ICON(icon), dw));
- g_signal_connect(GTK_DIALOG(dlg), "response",
- G_CALLBACK(gtk_widget_destroy), NULL);
-
- notebook = gtk_notebook_new();
- gtk_widget_show(notebook);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dlg)->vbox), notebook, TRUE, TRUE, 0);
-
- lbl = gtk_label_new(_("General"));
- gtk_widget_show(lbl);
- vbox = gtk_vbox_new(FALSE, BORDER);
- gtk_widget_show(vbox);
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, lbl);
-
- table = g_object_new(GTK_TYPE_TABLE,
- "border-width", 6,
- "column-spacing", 12,
- "row-spacing", 6,
- NULL);
- gtk_widget_show(table);
- gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0);
-
-
- hbox = gtk_hbox_new(FALSE, BORDER);
- gtk_widget_show(hbox);
- gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- img = gtk_image_new_from_pixbuf(xfdesktop_icon_peek_pixbuf(XFDESKTOP_ICON(icon),
- dw));
- gtk_widget_show(img);
- gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
-
- lbl = gtk_label_new(_("Name:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_box_pack_start(GTK_BOX(hbox), lbl, TRUE, TRUE, 0);
-
- entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(entry),
- xfdesktop_icon_peek_label(XFDESKTOP_ICON(icon)));
- gtk_editable_select_region(GTK_EDITABLE(entry), 0, -1);
- gtk_editable_set_editable(GTK_EDITABLE(entry), FALSE); /* FIXME */
- gtk_widget_show(entry);
- gtk_table_attach(GTK_TABLE(table), entry, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
- gtk_widget_grab_focus(entry);
-
- ++row;
-
- spacer = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
- gtk_widget_set_size_request(spacer, -1, 12);
- gtk_widget_show(spacer);
- gtk_table_attach(GTK_TABLE(table), spacer, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- lbl = gtk_label_new(_("Kind:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- str = xfdesktop_file_utils_get_file_kind(info, &is_link);
- lbl = gtk_label_new(str);
- g_free(str);
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- if(is_link) {
- gchar *link_name, *display_name;
-
- lbl = gtk_label_new(_("Link Target:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- link_name = thunar_vfs_info_read_link(info, NULL);
- if(link_name) {
- display_name = g_filename_display_name(link_name);
- lbl = gtk_label_new(display_name);
- g_object_set(G_OBJECT(lbl),
- "ellipsize", PANGO_ELLIPSIZE_START,
- NULL);
- g_free(display_name);
- g_free(link_name);
- } else
- lbl = gtk_label_new(_("(unknown)"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
- }
-
- if(info->type != THUNAR_VFS_FILE_TYPE_DIRECTORY) {
- mime_apps = thunar_vfs_mime_database_get_applications(mime_database,
- info->mime_info);
-
- if(mime_apps) {
- GtkListStore *ls;
- GtkTreeIter itr;
- GtkCellRenderer *render;
- ThunarVfsMimeHandler *handler;
- const gchar *icon_name;
- gint mw, mh;
- GdkPixbuf *pix;
-
- lbl = gtk_label_new(_("Open With:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- hbox = gtk_hbox_new(FALSE, BORDER);
- gtk_widget_show(hbox);
- gtk_table_attach(GTK_TABLE(table), hbox, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &mw, &mh);
-
- ls = gtk_list_store_new(OPENWITH_N_COLS, GDK_TYPE_PIXBUF,
- G_TYPE_STRING, G_TYPE_POINTER);
- for(l = mime_apps; l; l = l->next) {
- handler = THUNAR_VFS_MIME_HANDLER(l->data);
- pix = NULL;
-
- gtk_list_store_append(ls, &itr);
-
- icon_name = thunar_vfs_mime_handler_lookup_icon_name(handler,
- gtk_icon_theme_get_default());
- if(icon_name) {
- GtkIconTheme *itheme = gtk_icon_theme_get_default();
- pix = gtk_icon_theme_load_icon(itheme, icon_name, mw,
- ITHEME_FLAGS, NULL);
- }
-
- gtk_list_store_set(ls, &itr,
- OPENWITH_COL_PIX, pix,
- OPENWITH_COL_NAME,
- thunar_vfs_mime_handler_get_name(handler),
- OPENWITH_COL_HANDLER, handler,
- -1);
-
- if(pix)
- g_object_unref(G_OBJECT(pix));
- }
-
- g_signal_connect(G_OBJECT(dlg), "destroy",
- G_CALLBACK(xfdesktop_file_properties_dialog_destroyed),
- ls);
-
- g_list_free(mime_apps);
-
- combo = gtk_combo_box_new_with_model(GTK_TREE_MODEL(ls));
-
- render = gtk_cell_renderer_pixbuf_new();
- gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), render, FALSE);
- gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combo), render,
- "pixbuf", OPENWITH_COL_PIX);
-
- render = gtk_cell_renderer_text_new();
- gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), render, FALSE);
- gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combo), render,
- "text", OPENWITH_COL_NAME);
-
- gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
- g_object_set_data(G_OBJECT(combo), "--xfdesktop-file-icon", icon);
- gtk_widget_show(combo);
- gtk_table_attach(GTK_TABLE(table), combo, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
- g_signal_connect(G_OBJECT(combo), "changed",
- G_CALLBACK(xfdesktop_file_properties_dialog_set_default_mime_handler),
- parent);
-
- ++row;
- }
- }
-
- spacer = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
- gtk_widget_set_size_request(spacer, -1, 12);
- gtk_widget_show(spacer);
- gtk_table_attach(GTK_TABLE(table), spacer, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- lbl = gtk_label_new(_("Modified:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- tm = localtime(&info->mtime);
- strftime(buf, 64, "%Y-%m-%d %H:%M:%S", tm);
-
- lbl = gtk_label_new(buf);
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- lbl = gtk_label_new(_("Accessed:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- tm = localtime(&info->atime);
- strftime(buf, 64, "%Y-%m-%d %H:%M:%S", tm);
-
- lbl = gtk_label_new(buf);
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- spacer = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
- gtk_widget_set_size_request(spacer, -1, 12);
- gtk_widget_show(spacer);
- gtk_table_attach(GTK_TABLE(table), spacer, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- if(info->type == THUNAR_VFS_FILE_TYPE_DIRECTORY)
- lbl = gtk_label_new(_("Free Space:"));
- else
- lbl = gtk_label_new(_("Size:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- if(info->type == THUNAR_VFS_FILE_TYPE_DIRECTORY) {
- ThunarVfsFileSize free_space;
- if(thunar_vfs_info_get_free_space(info, &free_space)) {
- thunar_vfs_humanize_size(free_space, buf, 64);
- lbl = gtk_label_new(buf);
- } else
- lbl = gtk_label_new(_("(unknown)"));
- } else {
- thunar_vfs_humanize_size(info->size, buf, 64);
- str = g_strdup_printf(_("%s (%" G_GINT64_FORMAT " Bytes)"), buf,
- (gint64)info->size);
- lbl = gtk_label_new(str);
- g_free(str);
- }
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
-
- /* permissions tab */
-
- lbl = gtk_label_new(_("Permissions"));;
- gtk_widget_show(lbl);
- vbox = gtk_vbox_new(FALSE, BORDER);
- gtk_widget_show(vbox);
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, lbl);
-
- row = 0;
- table = g_object_new(GTK_TYPE_TABLE,
- "border-width", 6,
- "column-spacing", 12,
- "row-spacing", 6,
- NULL);
- gtk_widget_show(table);
- gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0);
-
- user_manager = thunar_vfs_user_manager_get_default();
- user = thunar_vfs_user_manager_get_user_by_id(user_manager,
- info->uid);
- group = thunar_vfs_user_manager_get_group_by_id(user_manager,
- info->gid);
- mode = info->mode;
-
- lbl = gtk_label_new(_("Owner:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- rname = thunar_vfs_user_get_real_name(user);
- if(rname)
- str = g_strdup_printf("%s (%s)", rname, thunar_vfs_user_get_name(user));
- else
- str = (gchar *)thunar_vfs_user_get_name(user);
- lbl = gtk_label_new(str);
- if(rname)
- g_free(str);
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- lbl = gtk_label_new(_("Access:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- lbl = gtk_label_new(_(access_types[((mode >> (2 * 3)) & 0007) >> 1]));
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- spacer = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
- gtk_widget_set_size_request(spacer, -1, 12);
- gtk_widget_show(spacer);
- gtk_table_attach(GTK_TABLE(table), spacer, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- lbl = gtk_label_new(_("Group:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- lbl = gtk_label_new(thunar_vfs_group_get_name(group));
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- lbl = gtk_label_new(_("Access:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- lbl = gtk_label_new(_(access_types[((mode >> (1 * 3)) & 0007) >> 1]));
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- spacer = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
- gtk_widget_set_size_request(spacer, -1, 12);
- gtk_widget_show(spacer);
- gtk_table_attach(GTK_TABLE(table), spacer, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- lbl = gtk_label_new(_("Others:"));
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.5);
- gtk_widget_modify_font(lbl, pfd);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1,
- GTK_FILL, GTK_FILL, 0, 0);
-
- lbl = gtk_label_new(_(access_types[((mode >> (0 * 3)) & 0007) >> 1]));
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.5);
- gtk_widget_show(lbl);
- gtk_table_attach(GTK_TABLE(table), lbl, 1, 2, row, row + 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-
- ++row;
-
- g_object_unref(G_OBJECT(user_manager));
- g_object_unref(G_OBJECT(user));
- g_object_unref(G_OBJECT(group));
-
- g_object_unref(G_OBJECT(mime_database));
-
- pango_font_description_free(pfd);
-
-#ifdef HAVE_THUNARX
- if(thunarx_properties_providers) {
- GList *pages, *p, *files = g_list_append(NULL, icon);
- ThunarxPropertyPageProvider *provider;
- ThunarxPropertyPage *page;
- GtkWidget *label_widget;
- const gchar *label;
-
- DBG("adding property pages");
-
- for(l = thunarx_properties_providers; l; l = l->next) {
- provider = THUNARX_PROPERTY_PAGE_PROVIDER(l->data);
- pages = thunarx_property_page_provider_get_pages(provider, files);
-
- DBG("pages found: %d", pages ? g_list_length(pages) : 0);
-
- for(p = pages; p; p = p->next) {
- page = THUNARX_PROPERTY_PAGE(p->data);
- label_widget = thunarx_property_page_get_label_widget(page);
- if(!label_widget) {
- label = thunarx_property_page_get_label(page);
- label_widget = gtk_label_new(label);
- }
- gtk_widget_show(GTK_WIDGET(page));
- gtk_widget_show(label_widget);
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- GTK_WIDGET(page), label_widget);
- }
-
- /* each page should be freed when the dialog is destroyed (?) */
- g_list_free(pages);
- }
-
- g_list_free(files);
- }
-#endif
-
- gtk_widget_show(dlg);
-}
diff --git a/src/xfdesktop-file-properties-dialog.h b/src/xfdesktop-file-properties-dialog.h
deleted file mode 100644
index a00e1ae..0000000
--- a/src/xfdesktop-file-properties-dialog.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * xfdesktop - xfce4's desktop manager
- *
- * Copyright (c) 2006 Brian Tarricone, <bjt23 at cornell.edu>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Library General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef __XFDESKTOP_FILE_PROPERTIES_DIALOG_H__
-#define __XFDESKTOP_FILE_PROPERTIES_DIALOG_H__
-
-#include <gtk/gtk.h>
-
-#include "xfdesktop-file-icon.h"
-
-G_BEGIN_DECLS
-
-void xfdesktop_file_properties_dialog_show(GtkWindow *parent,
- XfdesktopFileIcon *icon,
- GList *thunarx_properties_providers);
-
-G_END_DECLS
-
-#endif /* __XFDESKTOP_FILE_PROPERTIES_DIALOG_H__ */
diff --git a/src/xfdesktop-volume-icon.c b/src/xfdesktop-volume-icon.c
index 1f443ec..87283dc 100644
--- a/src/xfdesktop-volume-icon.c
+++ b/src/xfdesktop-volume-icon.c
@@ -53,7 +53,6 @@
#endif
#include "xfdesktop-file-utils.h"
-#include "xfdesktop-file-properties-dialog.h"
#include "xfdesktop-volume-icon.h"
struct _XfdesktopVolumeIconPrivate
@@ -560,7 +559,12 @@ xfdesktop_volume_icon_menu_properties(GtkWidget *widget,
gpointer user_data)
{
XfdesktopFileIcon *icon = XFDESKTOP_FILE_ICON(user_data);
- xfdesktop_file_properties_dialog_show(NULL, icon, NULL);
+ GFile *file;
+
+ file = xfdesktop_file_icon_peek_file(icon);
+ xfdesktop_file_utils_show_properties_dialog(file,
+ XFDESKTOP_VOLUME_ICON(icon)->priv->gscreen,
+ NULL);
}
static gboolean
@@ -627,7 +631,7 @@ xfdesktop_volume_icon_populate_context_menu(XfdesktopIcon *icon,
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), img);
gtk_widget_show(mi);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi);
- if(!volume_icon->priv->info)
+ if(!volume_icon->priv->file_info)
gtk_widget_set_sensitive(mi, FALSE);
else {
g_signal_connect(G_OBJECT(mi), "activate",
More information about the Xfce4-commits
mailing list