Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37480630
en ru br
ALT Linux repositórios
S:4.18.1-alt1
5.0: 4.6.1-alt2
4.1: 4.4.3-alt0.M41.1
4.0: 4.4.2-alt1.M40
3.0: 4.2.2-alt1

Group :: Desktop gráfico/XFce
RPM: xfdesktop

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: 03_special_icons_config.patch
Download


diff -Nur xfdesktop4-4.4.0/settings/behavior-settings.c xfdesktop4-4.4.0.new/settings/behavior-settings.c
--- xfdesktop4-4.4.0/settings/behavior-settings.c	2007-01-20 22:18:37.000000000 +0100
+++ xfdesktop4-4.4.0.new/settings/behavior-settings.c	2007-02-24 14:51:00.000000000 +0100
@@ -22,6 +22,7 @@
 #endif
 
 #include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4util/libxfce4util.h>
 
 #include "xfce-desktop.h"
 #include "xfdesktop-common.h"
@@ -40,6 +41,15 @@
 #endif
 };
 
+#ifdef ENABLE_DESKTOP_ICONS
+enum {
+    SHOW_HOME = 1,
+    SHOW_FS,
+    SHOW_TRASH,
+    SHOW_REMOVABLE
+};
+#endif
+
 /* globals */
 static gboolean show_windowlist = TRUE;
 #ifdef USE_DESKTOP_MENU
@@ -56,6 +66,72 @@
 static guint desktop_icons_icon_size = 32;  /* default */
 #endif
 
+void
+apply_show_config(BackdropDialog *bd)
+{
+    gchar    *rcfile;
+    XfceRc   *conf;
+    gboolean  gb;
+
+    rcfile = xfce_resource_save_location (XFCE_RESOURCE_CONFIG, "xfce4/desktop/xfdesktoprc", TRUE);
+    conf = xfce_rc_simple_open (rcfile, TRUE);
+    xfce_rc_set_group (conf, "file-icons");
+
+    gb = xfce_rc_read_bool_entry(conf, "show-home", FALSE);
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bd->chk_show_home), gb);
+    gb = xfce_rc_read_bool_entry(conf, "show-filesystem", FALSE);
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bd->chk_show_fs), gb);
+    gb = xfce_rc_read_bool_entry(conf, "show-trash", FALSE);
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bd->chk_show_trash), gb);
+    gb = xfce_rc_read_bool_entry(conf, "show-removable", FALSE);
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bd->chk_show_removable), gb);
+
+    xfce_rc_close(conf);
+    g_free(rcfile);
+}
+	
+static void
+set_show_option(GtkWidget *w, gpointer user_data)
+{
+    BackdropDialog *bd = (BackdropDialog *)user_data;
+    guint           opt;
+    gchar          *rcfile;
+    XfceRc         *conf;
+    gboolean        gb;
+
+    opt = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(w), "xfce-shownum"));
+    rcfile = xfce_resource_save_location (XFCE_RESOURCE_CONFIG, "xfce4/desktop/xfdesktoprc", TRUE);
+    conf = xfce_rc_simple_open (rcfile, FALSE);
+    xfce_rc_set_group (conf, "file-icons");
+
+    gb = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w));
+
+    switch(opt) {
+        case SHOW_HOME:
+            xfce_rc_write_bool_entry (conf, "show-home", gb);
+        break;
+
+        case SHOW_FS:
+            xfce_rc_write_bool_entry (conf, "show-filesystem", gb);
+        break;
+
+        case SHOW_TRASH:
+            xfce_rc_write_bool_entry (conf, "show-trash", gb);
+        break;
+
+        case SHOW_REMOVABLE:
+            xfce_rc_write_bool_entry (conf, "show-removable", gb);
+        break;
+
+        default:
+            g_warning("xfdesktop menu: got invalid checkbox ID");
+            return;
+    }
+
+    xfce_rc_close(conf);
+    g_free(rcfile);
+}
+
 static void
 set_chk_option(GtkWidget *w, gpointer user_data)
 {
@@ -138,6 +214,10 @@
     } else
         gtk_widget_set_sensitive(bd->vbox_icon_settings, FALSE);
     
+    if(desktop_icon_style == XFCE_DESKTOP_ICON_STYLE_FILES)
+        gtk_widget_set_sensitive(bd->hbox_show_icons, TRUE);
+    else
+        gtk_widget_set_sensitive(bd->hbox_show_icons, FALSE);
     
     mcs_manager_set_int(bd->plugin->manager, "desktopiconstyle",
                         BACKDROP_CHANNEL, desktop_icon_style);
@@ -229,7 +309,7 @@
     GtkWidget *btn;
 #endif
 #ifdef ENABLE_DESKTOP_ICONS
-    GtkWidget *combo, *sbtn, *lbl, *hbox;
+    GtkWidget *combo, *sbtn, *lbl, *hbox, *table;
 #endif
     
     kiosk = xfce_kiosk_new("xfdesktop");
@@ -349,12 +429,55 @@
                      G_CALLBACK(set_sbtn_option), bd);
     
     gtk_widget_set_sensitive(bd->frame_sysfont, !desktop_icons_use_system_font);
+
+    if (desktop_icon_style != XFCE_DESKTOP_ICON_STYLE_FILES)
+        gtk_widget_set_sensitive(bd->vbox_icon_settings, FALSE);
     
     if(desktop_icon_style == XFCE_DESKTOP_ICON_STYLE_NONE)
         gtk_widget_set_sensitive(bd->vbox_icon_settings, FALSE);
     
     if(!xfce_kiosk_query(kiosk, "CustomizeDesktopIcons"))
         gtk_widget_set_sensitive(frame_bin, FALSE);
+
+    bd->hbox_show_icons = gtk_hbox_new (FALSE, FALSE);
+    gtk_widget_show(bd->hbox_show_icons);
+    gtk_box_pack_start(GTK_BOX(bd->vbox_icon_settings),bd->hbox_show_icons, FALSE, FALSE, 0);
+
+    table = gtk_table_new (3, 3, TRUE);
+    gtk_widget_show (table);
+    gtk_box_pack_start(GTK_BOX(bd->hbox_show_icons), table, FALSE, FALSE, 0);
+
+    lbl = gtk_label_new_with_mnemonic(_("Show ic_ons for: "));
+    gtk_widget_show(lbl);
+    gtk_table_attach(GTK_TABLE (table), lbl, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+
+        bd->chk_show_home = gtk_check_button_new_with_mnemonic(_("_home"));
+    gtk_widget_show (bd->chk_show_home);
+    g_object_set_data(G_OBJECT(bd->chk_show_home), "xfce-shownum", GUINT_TO_POINTER(SHOW_HOME));
+    gtk_table_attach(GTK_TABLE (table), bd->chk_show_home, 1, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+
+    bd->chk_show_fs = gtk_check_button_new_with_mnemonic(_("_file system"));
+    gtk_widget_show (bd->chk_show_fs);
+    g_object_set_data(G_OBJECT(bd->chk_show_fs), "xfce-shownum", GUINT_TO_POINTER(SHOW_FS));
+    gtk_table_attach(GTK_TABLE (table), bd->chk_show_fs, 1, 3, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
+
+    bd->chk_show_trash = gtk_check_button_new_with_mnemonic(_("_trash"));
+    gtk_widget_show (bd->chk_show_trash);
+    g_object_set_data(G_OBJECT(bd->chk_show_trash), "xfce-shownum", GUINT_TO_POINTER(SHOW_TRASH));
+    gtk_table_attach(GTK_TABLE (table), bd->chk_show_trash, 2, 3, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+
+    bd->chk_show_removable = gtk_check_button_new_with_mnemonic(_("_removable devices"));
+    gtk_widget_show (bd->chk_show_removable);
+    g_object_set_data(G_OBJECT(bd->chk_show_removable), "xfce-shownum", GUINT_TO_POINTER(SHOW_REMOVABLE));
+    gtk_table_attach(GTK_TABLE (table), bd->chk_show_removable, 1, 3, 2, 3, GTK_FILL, GTK_FILL, 0, 0);
+
+    g_signal_connect(G_OBJECT(bd->chk_show_home), "toggled", G_CALLBACK(set_show_option), bd);
+    g_signal_connect(G_OBJECT(bd->chk_show_fs), "toggled", G_CALLBACK(set_show_option), bd);
+    g_signal_connect(G_OBJECT(bd->chk_show_trash), "toggled", G_CALLBACK(set_show_option), bd);
+    g_signal_connect(G_OBJECT(bd->chk_show_removable), "toggled", G_CALLBACK(set_show_option), bd);
+
+    apply_show_config(bd);
+
 #endif
     
     xfce_kiosk_free(kiosk);
diff -Nur xfdesktop4-4.4.0/settings/settings-common.h xfdesktop4-4.4.0.new/settings/settings-common.h
--- xfdesktop4-4.4.0/settings/settings-common.h	2007-01-20 22:18:37.000000000 +0100
+++ xfdesktop4-4.4.0.new/settings/settings-common.h	2007-02-24 14:50:32.000000000 +0100
@@ -45,6 +45,11 @@
 #ifdef ENABLE_DESKTOP_ICONS
     GtkWidget *vbox_icon_settings;
     GtkWidget *frame_sysfont;
+    GtkWidget *chk_show_home;
+    GtkWidget *chk_show_fs;
+    GtkWidget *chk_show_trash;
+    GtkWidget *chk_show_removable;
+    GtkWidget *hbox_show_icons;
 #endif
 } BackdropDialog;
 
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009